This line is on the background. It appears on every page
tracks the mouse movements.
field
that uses this background.
This is an irregular polygon.
This is a bookmark widget. It sets its graphic to a checkmark
belongs to the background.
ASYM_ObjectCenter
This rectangle is on the background. It appears on every page
of background
s_lastObjPointedAt
This is not part of the ToolBook page or background.
This is a recordfield. It belongs to
oType
if you come back to this page after visiting another one.
This is the background.
This is the mat area visible when the page size
the background but its text belongs to this page.
author
s_lastObjPointedAt
reader
s_lastObjPointedAt
asym_reset
s_lastloc
pointer
s_lastObjPointedAt
leavePage
pASYM_IAmWidget
ASYM_SummonWidgets
ASYM_RegisterResponse
ASYM_ObjectDropped
ASYM_ObjectCenter
ASYM_WID_RejectWrong
LASYM_ResetPosition
ASYM_WID_DragSnap
ASYM_WID_Chosen
ASYM_WID_ResponseIDs
ASYM_BeginDrag
LASYM_ResetPosition
AUTHOR
moved
labelText
author
,&H.&
chosen 2
script shadow
manager shadow
playAnimation 1,
registerResponse
nextObj
choice
respNumber
choice 3 buttonclick
chosen 1
"8ASYM_PostMsg
respNumber
Sorry, wrong
choice 2 buttonclick
Correct
flashthing
chosen
registerresponse
Response =
register
choice 1 buttonclick
Canim_startPosition
YdoneAnimatingNotify
chosen 3
doneAnimatingNotify
flashthing
author
,&H.&
chosen 2
script shadow
manager shadow
playAnimation 1,
registerResponse
nextObj
choice
respNumber
choice 3 buttonclick
chosen 1
"8ASYM_PostMsg
respNumber
Sorry, wrong
choice 2 buttonclick
Correct
lASYM_DoGenericTextFeedback
flashthing
chosen
registerresponse
Response =
register
choice 1 buttonclick
Canim_startPosition
YdoneAnimatingNotify
chosen 3
doneAnimatingNotify
flashthing
pASYM_IAmWidget
ASYM_SummonWidgets
"_locked
lASYM_DoGenericTextFeedback
<locked>
_lastText
enterfield
ASYM_RegisterResponse
_lastText
"_locked
ASYM_CompareByCase
leaveField
_lastText
keyChar
_sliderPos
ASYM_RegisterResponse
buttonUp
sliderMove
startSliderMove
sliderMax
sliderMin
nearestPUPP
_sliderPos
HendSliderMove
_sliderPos
sliderMax
r_lastPos
sliderBounds
sliderMin
ASYM_WID_AnswerLocked
nearestPupp
leftMButton
sliderPos
`primaryMouseButton
newMouseX
oldMouseX
buttonDown
pASYM_IAmWidget
ASYM_SummonWidgets
frame
tbk_wid_thickness
frame2
sized
sliderMove
sliderMax
sliderMin
_SliderPos
sliderMax
sliderBounds
sliderMin
nearestPupp
thumb
nearestPUPP
sliderPos
sliderMax
curfield
numTics
majorTics
sliderMin
DxCenter
LnumTics
adjustNumbers
xCenter
sliderMin
_SliderMax
W\adjustNumbers
sliderMin
sliderMax
sliderMax
sliderMax
_SliderMin
W\adjustNumbers
sliderMin
,&H.&
W\adjustNumbers
_majorTics
majorTics
curLine
sliderMax
sliderMin
thumb
sliderMax
sliderBounds
W\adjustNumbers
sliderMin
o_NumTics
numTics must be a value between 1 and 50.
nearestPupp
nearestPUPP
leftMost
numTics
_majorTics
majorTics
_SliderMin
sliderMin
o_NumTics
numTics
_SliderMax
sliderMax
_SliderPos
sliderPos
startSliderMove
sliderMove
endSliderMove
nearestPUPP
getSystemMetrics
getSystemMetrics
primaryMouseButton
pASYM_IAmWidget
ASYM_SummonWidgets
ASYM_Locked
:ASYM_WID_ShowScore
ASYM_WID_QType
objList
^ASYM_ShowYourScore
ASYM_PlayFeedback
ASYM_CheckTries
<all>
wZASYM_CollectWidgets
ASYM_WID_ResetTarget
ASYM_WID_MsgText
ASYM_WID_TargetObject
ASYM_WID_DelayFeedback
Zk_feedbackPlayed
ASYM_Reset
"ASYM_WID_ScoreMode
ASYM_WID_Msg
ASYM_WID_PlayFeedback
HZASYM_WID_lockAnswer
buttonClick
pASYM_IAmWidget
ASYM_SummonWidgets
"_locked
lASYM_DoGenericTextFeedback
<locked>
_lastText
enterfield
ASYM_RegisterResponse
_lastText
"_locked
ASYM_CompareByCase
leaveField
_lastText
keyChar
pASYM_IAmWidget
ASYM_SummonWidgets
ASYM_Locked
:ASYM_WID_ShowScore
ASYM_WID_QType
objList
^ASYM_ShowYourScore
ASYM_PlayFeedback
ASYM_CheckTries
<all>
wZASYM_CollectWidgets
ASYM_WID_ResetTarget
ASYM_WID_MsgText
ASYM_WID_TargetObject
ASYM_WID_DelayFeedback
Zk_feedbackPlayed
ASYM_Reset
"ASYM_WID_ScoreMode
ASYM_WID_Msg
ASYM_WID_PlayFeedback
HZASYM_WID_lockAnswer
buttonClick
periodic
:timerID
firstIdle
reset
ASYM_Reset
reset
reset
enterPage
reset
reader
:timerID
:timerID
leavePage
author
timerNotify
:timerID
:timerID
author
pASYM_IAmWidget
ASYM_SummonWidgets
keyDown
w+5!7
BV_lineRef
U__lastObj
ASYM_ObjectCenter
spot2
spot1
AV_lineRef
ASYM_WID_Chosen
none,solidHead
colorNotChosen
_lineColor
colorChosen
H_lineEndStyle
colorChosen
V__lastObj
_lineEndSize
_lineColor
H_lineEndStyle
_lineEndSize
colorNotChosen
ASYM_Reset
ASYM_Reset
.'+ +F
w+5!7
asymline
colorNotChosen
BV_lineRef
ASYM_RegisterResponse
25_target
H_lineEndStyle
colorChosen
WH_cursor
V__lastObj
"_locked
_lineColor
_lineEndSize
VH_cursor
AV_lineRef
buttonDown
w+V!!
w+V!8
w+5!7
w+5!7
AV_lineRef
ASYM_RegisterResponse
FALSE
25_target
asymline
BV_lineRef
ASYM_FindAnswerIndex
ASYM_WID_Chosen
ASYM_WID_RejectWrong
colorNotChosen
found
V__lastObj
15_target
backdrop
VH_cursor
reject
buttonUp
ASYM_BeginDrag
AV_lineRef
15_target
VH_cursor
leavepage
This field is one of 3 objects in a "Match Items" question widget.
explanation
mouseEnter
explanation
mouseLeave
pASYM_IAmWidget
ASYM_SummonWidgets
.'+ +F
,&H.&
,&H.&
As a result, the score is zero for
:ASYM_WID_ShowScore
any question you may already have answered on another page,
Has been completed.
To allow you to try the question widgets in this book
FALSE
HZASYM_WID_lockAnswer
ASYM_WID_MarkCompleted
^ASYM_ShowYourScore
MASYM_IsScored
"ASYM_WID_ScoreMode
SASYM_LogWriteEntry
ASYM_BeenScored
wZASYM_CollectWidgets
ASYM_WID_IsScored
you save the book, rather than when navigating from page to page.
ASYM_WID_ResetTarget
ASYM_QuestionStatus
Click Technically Speaking for more information.
ASYM_WID_MsgText
Score for
again and again in the same session, we chose to make the widgets reset
ASYM_WID_Msg
ASYM_Locked
(ASYM_CMS_MarkAsCompleted
CBT Edition can automatically reset all the questions when
m~ASYM_CMS_RecordScore
ASYM_WID_IngoreSkipped
since that question was reset when you left that page.
default
To allow you to to collect scores from all the questions in a book,
automatically when you leave the page that contains them.
_mode
ASYM_Reset
buttonClick
This button is a "Check All Responses" widget.
explanation
mouseEnter
explanation
mouseLeave
pASYM_IAmWidget
ASYM_SummonWidgets
ASYM_Locked
:ASYM_WID_ShowScore
ASYM_WID_QType
objList
^ASYM_ShowYourScore
ASYM_PlayFeedback
ASYM_CheckTries
<all>
wZASYM_CollectWidgets
ASYM_WID_ResetTarget
ASYM_WID_MsgText
ASYM_WID_TargetObject
ASYM_WID_DelayFeedback
Zk_feedbackPlayed
ASYM_Reset
"ASYM_WID_ScoreMode
ASYM_WID_Msg
ASYM_WID_PlayFeedback
HZASYM_WID_lockAnswer
buttonClick
This button is a "Check Responses on Page" widget.
explanation
mouseEnter
explanation
mouseLeave
pASYM_IAmWidget
ASYM_SummonWidgets
ASYM_Locked
:ASYM_WID_ShowScore
ASYM_WID_QType
objList
^ASYM_ShowYourScore
ASYM_PlayFeedback
ASYM_CheckTries
<all>
wZASYM_CollectWidgets
ASYM_WID_ResetTarget
ASYM_WID_MsgText
ASYM_WID_TargetObject
ASYM_WID_DelayFeedback
Zk_feedbackPlayed
ASYM_Reset
"ASYM_WID_ScoreMode
ASYM_WID_Msg
ASYM_WID_PlayFeedback
HZASYM_WID_lockAnswer
buttonClick
This button is a "Check Responses on Page" widget.
explanation
mouseEnter
explanation
mouseLeave
xleavePage
"8ASYM_PostMsg
buttonClick
hotword button
xleavePage
enterPage
,&H.&
ASYM_Reset
ASYM_Reset
minimized
statechanged
s_authorOK
Even minor changes at Author level can keep
this book from working correctly. Go to Author level anyway?
author
Screencam Group
oldse
Tech Talk
ASYM_Reset
ASYM_Reset
.'+ +F
sysWindowHandle
ToolBook
hasMCISound
oinitDLLs
mtb40.sbk
tb40anm.sbk
rmthwnd
ctb40r.sbk
state of mainwindow = defaultState of mainwindow
enterApplication
rightButtonDown
tb40dos.dll
tb40win.dll
SetIniVar
, Twn
GetIniVar
GetCDDriveList
tb40dlg.dll
ChooseDirectoryDlg
initDLLs
reader
YesNo
Info_Title
Are you sure you want to quit now?
ASYM_MessageBox
question
false
FindMovies
s_skipMovies
ScreenCamEnabled
.'+ +F
,&H.&
,&H.&
.'+ +F
0,100,0
0,0,0
subtitle
colorscheme
No tech talk page:
tech talk
techTalk
tech talk
closeWindow
tech talk
closeTechTalk
tech talk
leavePage
OeGoToPage
GoToPage
ASYM_NextNavigablePage
120,50,100
ASYM_PreviousNavigablePage
irregularPolygon "Up" of this background
irregularPolygon "next" of this background
field
HASYM_GotoPage
irregularPolygon "previous" of this background
keyUp
Options
HasMCISound
CBTTOUR.INI
GetIniVar
s_UseSound
Sound
SoundOK
false
rLSoundOK
s_UseSound
toggleSound
s_gMCISnd
sysInfo waveAudio quantity
HasMCISound
Summary
Navigation controls
Restart Chapter
Chapter Heading
group
HasMCISound
toggleSound
playMySound
tb40win.dll
rLsoundOK
Main Menu
HASYM_GoToPage
RestartChapter
!MpopMenu
of background
Sound
Jump To Summary
+!popMenu
!|JumpToSummary
Title
rightButtonUp
Chapter Heading
HASYM_GoToPage
RestartChapter
Summary
HASYM_GoToPage
JumpToSummary
s_MovieDirectory
s_MoviePlayer
cbtt1.scm
s_skipMovies
HFFindScreenCamPlayer
FindMyScreenCamMovies
findMovies
dummy
ASYM_GetMemBlock failed - may be due to incorrect installation.
file required for some demonstrations.
ASYM_FreeMemBlock
this application to see the ScreenCam movies.
Make sure that scplayer.exe is in the DOS path and restart
ASYM_GetMemBlock
dummyFn
ASYM_IsFile
RemoveFile
ASYM_CurrentDir
lpBuffer
dummy.scm
NoScreenCamPlayerFound
tb40dos.dll
ASYM_GetString
removeFile
shell.dll
BASYM_TempDirectory
FindExecutable
scplayer.exe
Cannot find the Lotus(R) ScreenCam(tm) player
aFindExecutable
GetMemBlockFailed
FindScreenCamPlayer
,&H.&
w, #?
oldDir
dummy
prompt
&Try Again
IniFile
0wGetCDDriveList
Multimedia ToolBook CBT Edition Features Tour
Creator
ASYM_IsDirectory
&Skip Movies
but the CD-ROM could not be found.
By default, this book looks for them in the \tutorial directory on the CBT Edition CD-ROM,
Locate the Movies
s_skipMovies
CDList
cASYM_SetCurrentDirectory
Cannot locate the Lotus ScreenCam(tm) movies used for demos.
GetIniVar
ASYM_IsDriveReady
:\tutorial\
ASYM_CurrentDirectory
ASYM_GetString
INI File Info
browse
.ChooseDirectoryDlg
cbttour.ini
SetIniVar
Movies
ASYM_IsFile
thePath
try again
tutorial
testPath
YASYM_GetCurrentDirectory
&Browse...
FindMyScreenCamMovies
.'+ +F
.'+ +F
s_MovieDirectory
s_MoviePlayer
CannotFindMovieX
ASYM_IsFile
rLSoundOK
Cannot find the movie file %1.
ASYM_GetString
s_skipMovies
playMovieByNumber
8findMoviePage
pgcnt
nextMoviePage
Show Me
findMoviePage
ASYM_PathOfFile
playMySound
.......10
a>l6l6l'
-- This
{has hyperlink
notifyBefore
4s_otzero
ASYM_beenhere
1 = ASYM_Ticks()
E <>
V > 500
obj =
odisabled
objectFromPoint(
col =
--
ASYM_DoHyperlink(
, "buttonClick")
ASYM_NextNavigablePage()
buttonClick
v =
"tech talk"
isOpen
close v
reset
techTalk (
K= "Enough Tech
enabled
K= "Technically Speaking..."
notifyBefore
otechPage
notifyAfter
sASYM_reset
otechpage <>
bg =
ss =
notifybefore
i= 180,25.125,100
notifyBefore
4s_lastObjPointedAt, s_lastloc
obj = objectFromPoint(
oType =
txt = "This
a regular
on the
& CRLF & "
has a
that"\
&& "tracks
7mouse movements."
. It belongs
/but its
. It
a bookmark widget. It sets
`graphic
a checkmark"\
you come
visiting another one."
irregular
--
1polygons."
--
appears only on
/. It
? every
uses
/. It
loc = ASYM_ObjectCenter(obj)
--
x =
y =
sz =
sz = "0,0"
sz =
x > 0
y > 0
mat area
smaller than
actual
xpart
ToolBook
= txt
x =
loc; y =
x < x1
xc = x1
x > x2
xc = x2
y < y1
yc = y1
y > y2
yc = y2
-- here
would be cute
animate
arrow
notifyAfter
asym_reset
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
9ObjectDropped obj, loc
oldLock =
e= TRUE
; = objectFromPoint(
n <> NULL
ASYM_RegisterResponse
ASYM_WID_Chosen
ASYM_WID_DragSnap
= ASYM_ObjectCenter(
ASYM_WID_RejectWrong
= ASYM_ResetPosition
BeginDrag obj
ASYM_WID_ResponseIDs
moved
$= AUTHOR
labelText
value
doneAnimatingNotify status, obj
"choice 1 buttonclick"
orespNumber =
nextObj =
"registerResponse"
anim_startPosition
mmYield
flashthing
shadow"
ASYM_PostMsg "playAnimation 1," &&
"registerresponse"
("chosen" &&
T"manager
~" = "
="&&
lockScreen
" && i) = (i =
= "3"
tag = "Correct"
Sorry, wrong"
--
ASYM_DoGenericTextFeedback(
" &&
doneAnimatingNotify status, obj
"choice 1 buttonclick"
orespNumber =
nextObj =
"registerResponse"
anim_startPosition
mmYield
flashthing
shadow"
ASYM_PostMsg "playAnimation 1," &&
"registerresponse"
("chosen" &&
T"manager
~" = "
="&&
lockScreen
" && i) = (i =
= "3"
tag = "Correct"
Sorry, wrong"
ASYM_DoGenericTextFeedback(
" &&
oldColor =
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
_locked
= TRUE
ASYM_DoGenericTextFeedback (
oldSys = sysSuspendMessages
= NULL
_lastText
`suspendmessages
syssuspendmessages =
xASYM_CompareByCase(
ASYM_RegisterResponse
x = 13
x = 9
x = 27
ASYM_RegisterResponse
(_sliderPos
-- moves the
ASYM_WID_AnswerLocked
= TRUE
_lastPos
xPix
sysPageUnitsPerPixel
sliderMin
sliderMax
scale
sliderBounds
nearestPupp(
oldP
nearestPUPP(
pos -
oldMouseX
startSliderMove
leftMButton
primaryMouseButton() --
S-handed mousing
newMouseX
newP
b(x1,
9-dx),x2-w)
o-x1)*
)/(x2-x1-w)+
sliderMove
endSliderMove
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
sized
b =
oldLock =
oldMsg = sysSuspendMessages
= TRUE
"frame"
x =
syspageunitsperpixel; y =
: = tbk_wid_thickness
; frameX2 =
fx = x*
m; fy = y*
fx2 = x*
+; fy2 = y*
x1 =
b; y1 =
x2 =
b; y2 =
= x1+fx, y1+fy, x2-fx, y2-fy
"frame2"
= x1+
, y1+
, x2-
, y2-
-- sets the thumb
location specifed
sliderPos
value
Zscale
sliderMin
sliderMax
_SliderPos
xPix
sysPageUnitsPerPixel
sliderBounds
"bar"
nearestPupp(
oldP
nearestPUPP(
percentage
newP
x1 + (x2-x1-w)*
sliderMove
-- renumbers
labels
, numTics,
majorTics
adjustNumbers
numFields
q / ts
j) /
5),10)
curfield
xCenter
U(i*ts)
),10)+1
-- centers
{horizontally on
maximum
_SliderMax
minimum
_SliderMin
frequency
tic marks on
high
U"0"
U"0"
FALSE
_majorTics
tics on
> 50
must be a
between 1
thumbWidth
U"base"
(x2 - x1) /
leftMost
curLine
curline
_NumTics
above.
handlers
Mthese messages aren't handled.
notifyBefore startSliderMove
*endSliderMove
-- returns
whole
val,pix
Gprimary mouse
primaryMouseButton
linkDLL "user"
getSystemMetrics(
23) > 0
unlinkDLL "
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
objList =
oASYM_WID_TargetObject
,ASYM_CollectWidgets(
h <>
isObject(
ASYM_WID_QType
<> NULL
ASYM_WID_lockAnswer
ASYM_Locked
ASYM_WID_ShowScore
ASYM_ShowYourScore obj,
m,ASYM_WID_ScoreMode
ASYM_WID_PlayFeedback
ASYM_PlayFeedback
ASYM_WID_DelayFeedback
= TRUE
_feedbackPlayed
ASYM_CheckTries
ASYM_WID_ResetTarget
ASYM_Reset
ASYM_WID_Msg
(ASYM_WID_MsgText
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
_locked
= TRUE
ASYM_DoGenericTextFeedback (
oldSys = sysSuspendMessages
= NULL
_lastText
`suspendmessages
syssuspendmessages =
xASYM_CompareByCase(
ASYM_RegisterResponse
x = 13
x = 9
x = 27
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
objList =
oASYM_WID_TargetObject
,ASYM_CollectWidgets(
h <>
isObject(
ASYM_WID_QType
<> NULL
ASYM_WID_lockAnswer
ASYM_Locked
ASYM_WID_ShowScore
ASYM_ShowYourScore obj,
m,ASYM_WID_ScoreMode
ASYM_WID_PlayFeedback
ASYM_PlayFeedback
ASYM_WID_DelayFeedback
= TRUE
_feedbackPlayed
ASYM_CheckTries
ASYM_WID_ResetTarget
ASYM_Reset
ASYM_WID_Msg
(ASYM_WID_MsgText
firstIdle
otimerID = TimerStart(periodic,2000,500,
ASYM_Reset
reset
TimerStop(
timerNotify
drawDirect
n =
n > 0
obj =
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
notifyBefore
}sysmousePosition
ASYM_WID_Chosen obj, mode
= TRUE
x =
sysPageUnitsPerPixel * 2
spot1 = ASYM_ObjectCenter(
spot2 =
_lastObj
V) <
(_lineRef
obj) =
obj <> NULL
ASYM_Reset
ocolorChosen =
255,255,0;
ocolorNotChosen =
255,255,255;
o_lineColor =
255,0,0;
o_lineEndStyle =
v,solidHead";
o_lineEndSize =
"1,3";
RGBFill
_locked
ASYM_RegisterResponse
_target
_cursor
oldLock =
x =
l * 2
rgbStroke
= "asymline"
drawdirect
>) = loc,
LOCAL objBuffer
= objectfrompoint(
Gloc)
reject = ASYM_WID_RejectWrong
found = ASYM_FindAnswerIndex(
"backdrop"
FALSE
= obj
ASYM_BeginDrag obj
buttonclick
"explanation" = \
"This
a ""Match Items"" question widget."
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
LOCAL STACK widList
_score, _maxScore, _composite, obj, _skip
= ASYM_WID_IngoreSkipped
_mode = ASYM_WID_ScoreMode
k = 0
k = 0
pg =
oldSys = sysSuspendMessages
oldLock =
# = TRUE
skipNavigation
8= FALSE
ASYM_CollectWidgets(
obj =
ASYM_WID_IsScored
ASYM_QuestionStatus(NULL,
ASYM_WID_ResetTarget
ASYM_Reset
ASYM_WID_lockAnswer
ASYM_Locked
ASYM_WID_MarkCompleted
ASYM_CMS_MarkAsCompleted(
ASYM_LogWriteEntry(
8&&"Has been completed."&&
&CRLF)
ASYM_IsScored
ASYM_BeenScored
ASYM_CMS_RecordScore(
" &&
8&& "=" &&
= default
ASYM_WID_ShowScore
ASYM_ShowYourScore
ASYM_WID_Msg
(ASYM_WID_MsgText
-- This added
additional explanation
the overview
"To allow you
question widgets
Isame session, we chose
9reset"\
&& "automatically
lleave
that
cthem."\
& "As a result,
zero
may already have answered on another
&& "since
& "To
collect scores
questions
&& "CBT Edition can
8, rather than
navigating
Technically Speaking
more information."
" = \
a ""Check All Responses""
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
objList =
oASYM_WID_TargetObject
,ASYM_CollectWidgets(
h <>
isObject(
ASYM_WID_QType
<> NULL
ASYM_WID_lockAnswer
ASYM_Locked
ASYM_WID_ShowScore
ASYM_ShowYourScore obj,
m,ASYM_WID_ScoreMode
ASYM_WID_PlayFeedback
ASYM_PlayFeedback
ASYM_WID_DelayFeedback
= TRUE
_feedbackPlayed
ASYM_CheckTries
ASYM_WID_ResetTarget
ASYM_Reset
ASYM_WID_Msg
(ASYM_WID_MsgText
"explanation" = \
"This
Responses on Page"" widget."
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
objList =
oASYM_WID_TargetObject
,ASYM_CollectWidgets(
h <>
isObject(
ASYM_WID_QType
<> NULL
ASYM_WID_lockAnswer
ASYM_Locked
ASYM_WID_ShowScore
ASYM_ShowYourScore obj,
m,ASYM_WID_ScoreMode
ASYM_WID_PlayFeedback
ASYM_PlayFeedback
ASYM_WID_DelayFeedback
= TRUE
_feedbackPlayed
ASYM_CheckTries
ASYM_WID_ResetTarget
ASYM_Reset
ASYM_WID_Msg
(ASYM_WID_MsgText
"explanation" = \
"This
Responses on Page"" widget."
xleavePage
v =
autoClose
isOpen
objectFromPoint(mousePosition
ASYM_PostMsg "buttonClick",
ZINT tfp,y
ZPOINT pt
ZOBJECT v,txtfld
v = targetWindow
txtFld =
maxy =
yinc =
sysPageUnitsPerPixel
pt = 45,y
(pt)
= -1
clientSize
v = y +
ASYM_Reset
skipNavigation
statechanged newState, oldState
minimized
defaultState
>= maximized
4s_authorOK
"Even minor
)Author level can keep"\
working correctly. Go
7anyway?"\
f"&No"
"&Yes"
`= "thickframe"
ASYM_Reset
"Tech Talk"
ss =
oldse =
"Screencam Group"
r= oldSe
enterApplication
-- Make sure there
only one instance
"ToolBook"
rmthwnd =
activeWindowHandle =
FlushMessageQueue()
CBT Edition runtime
linked
"ctb40r.sbk"
sysToolBookDirectory & "
-- PATH ANIMATION SUPPORT
-- If your
uses path animation,
also need
8. While
-- authoring,
!playback support
provided
mtb40.
xneeded.
-- Remove
tcomment
T("--")
4 lines below.
y & "tb40anm.
-- END OF
CODE
-- Put
other initialization statements
-- The
initDLLs -- custom
functions used
hasMCISound()
down
"tb40win.dll"
SetIniVar(STRING,
GetIniVar(
linkDLL "tb40dos.
= GetCDDriveList()
X"tb40dlg.
e ChooseDirectoryDlg(
ASYM_MessageBox("Are you
want
quit now?",\
Info_Title
,"question","YesNo")
ScreenCamEnabled
4s_skipMovies
FindMovies()
colorscheme
fld =
"subtitle"
hotwordcolor
8= 120,30,100
techTalk theTopic
pg =
. talk"
:" &&
v =
isOpen
currentPage
v = pg
ssm = sysMediaSuspend
mmclose
defaultPage
v = pg
closeWindow
firstIdle
closeTechTalk
v =
targetWindow
v =
GoToPage p, f, c
targetwindow
ASYM_NextNavigablePage()
obj = "
OK = isObject(
OK =
ASYM_GotoPage(
ASYM_PreviousNavigablePage()
OK =
(obj)
OK =
""Up""
OK =
OK =
SoundOK
4s_UseSound
-- Checks whether sound hardware
driver
installed,
1we should use
"Options","
","CBTTOUR.INI")
HasMCISound()
toggleSound
4s_gMCISnd
callMCI("sysInfo waveAudio quantity","")
? = (
"Navigation controls"
mnu = "Main Menu","Restart Chapter","Jump To Summary",\
"","Exit","","
Heading"
soundOK()
INT popMenu(WORD,
%windowHandle
pageScroll
sysMagnification,\
mousePosition
ASYM_GoToPage(
RestartChapter
JumpToSummary
playMySound("OK")
i, "", 4)
i, "", 4)
findMovies
4s_MovieDirectory, s_MoviePlayer,
= = FindMyScreenCamMovies("cbtt1.scm")
t <>
n = FindScreenCamPlayer()
cr --
screencam player
status
fn =
y & "scplayer.exe"
ASYM_IsFile(fn)
"shell.
FindExecutable (
POINTER)
RemoveFile(
lpBuffer = ASYM_GetMemBlock(256)
)<> "0,0"
dummyFn = ASYM_TempDirectory() & "
ss =
h,ASYM_CurrentDir(),
removeFile(
> 32
exe =
ASYM_FreeMemBlock(
ASYM_GetString("GetMemBlockFailed",\
failed - may be due
incorrect installation.")
<= 32
sNoScreenCamPlayerFound",\
"Cannot
Lotus(R)
0(tm)
&& "file required
some demonstrations." \
d restart"\
movies.")
es testname
IniFile = "cbttour.ini"
thePath =
#ASYM_CurrentDirectory()
E& testName)
y & "tutorial"
-- ouch!
Might be on
-- shudder -- on
network!
CDList =
d =
d & ":\
ASYM_IsDriveReady(d)
code
prompt
user
locate the
version
-- Not on
wrong CD
no CD
oldDir = ASYM_GetCurrentDirectory()
mmyield
(tm)
demos."\
&& "By
8looks
them
directory on
CD-ROM,"\
&& "but
could
xbe found."\
f"&Browse..."
"&Try Again"
"&Skip
s_SkipMovies =
"try
"browse"
testPath =
xASYM_IsDirectory(
k) > 3
Locate
","")
ASYM_SetCurrentDirectory(
Prompt,
<> "\"
"INI
","Creator",\
"Multimedia
Features Tour",
playMovieByNumber movieNumber
<>
fn =
l & ".
fn =
& ".
expandString(
CannotFindMovieX",\
%1."), fn)
cmd =
&& fn && "/sc"
nextMoviePage -- Utility
pg =
pgn =
pgcnt =
findMoviePage
/p1, p2
B"Show Me"
xplaySound(fN) -- standard
3.0
'ASYM_PathOfFile(
p) & fN)
yeah.wav
uhuh.wav
irectory & "
ScreenCam Movie Button
ScreenCam Group
Movie ID
playMovieByNumber
buttonClick
FindMovies
s_skipMovies
enterPage
ASYM_Reset
-- ScreenCam movie player buttons
buttonClick
playMovieByNumber (
ID"
notifyBefore
4s_skipMovies
oenabled =
FindMovies()
^ASYM_Reset
Movie ID
false
author
ScreenCamEnabled
sound
enterPage
Movie ID
author
ASYM_Reset
Movie ID
author
author
Movie ID
reader
ToggleSound
sound
buttonClick
-- Script
ScreenCam movie player
notifyBefore
B"sound"
= SoundOK()
= (HasMCISound())
b= (ScreenCamEnabled() <>
"Movie ID"
ASYM_Reset
notifyAfter
buttonClick
= ToggleSound()
their scor
:HDMEDIAPATH
12/18/94 11:32:36 PM
Info_Title
info_LastSaved
Info_LastSavedBy
12/27/94 3:50:54 PM
Info_Description
2/4/95 10:56:13 PM
ASYM_AutoBookmarks
Asymetrix Corporation
ASYM_AutoGlossary
YM_LogPassword
ASYM_AuthorResetPrompt
_ASYM_HyperPath
asym_fullScreen
d:\frankjr\template\CUBE.PTP
YM_OriginalTemplate
Arial
Arial
Arial
Arial
Arial
Arial
Arial
Arial
Claude Ostyn
Arial
MS Sans Serif
Arial
C. Sasquatch
1/15/95 12:19:53 AM
Arial
1/12/95 2:41:14 PM
glossary.tbk
Arial
<auto>
YM_LogName
Arial
MS Sans Serif
Claude Ostyn
ASYM_GlossaryName
Arial
1/12/95 2:12:45 PM
31 PM
Arial
MS Sans Serif
Courier New
Arial Rounded MT Bold
Arial
false
Claude Ostyn
MS Sans Serif
1/4/96 6:20:07 PM
Arial
12/18/95 7:37:06 PM
1:54:49 PM
MS Sans Serif
Arial
2/2/95 6:35:45 PM
"Are you
want
close
f"&No"
"&Yes"
YM_LogEncrypt
<auto>
ASYM_AutoHotwords
Arial
15/95 1:39:41 AM
MS Sans Serif
System
MS Sans Serif
<auto>
MS Sans Serif
Arial
1/23/95 5:33:35 PM
MS Sans Serif
glossary.tbk
d:\frankjr\claude\CUBE.PTP
12/19/95 2:43:12 PM
CBT Edition Overview
1/8/96 7:23:42 PM
demonstration of interactive and authoring features. Copyright Asymetrix Corporation
Claude Ostyn
12/17/95 6:22:57 PM
:CDMEDIAPATH
<BookPath>
Claude Ostyn
12/18/95 8:03:29 PM
Introduction to the key features of Multimedia ToolBook 4.0 - CBT Edition. Description and demonstration of interactive and authoring features. Copyright Asymetrix Corporation
YM_TempViewer
>Itrue
false
lockscree
false
Page id 45
Navigation
Tech Talk
Page id 125 of Book "G:\MTB40\SAFE\TUTORIAL\CBTTOUR.TBK"
YM_TempViewer
Page id 81 of Book "E:\FEATUT5.TBK"
YM_TempViewer
Page id 82 of Book "E:\FEATUT5.TBK"
Page id 81 of Book "E:\FEATUT5.TBK"
Page id 82 of Book "E:\FEATUT5.TBK"
Page id 78 of Book "E:\FEATUT5.TBK"
YM_CloseOnEsc
Page id 81 of Book "E:\FEATUT5.TBK"
Page id 97 of Book "E:\FEATUT5.TBK"
Page id 97 of Book "E:\FEATUT5.TBK"
Page id 97 of Book "E:\FEATUT5.TBK"
Page id 83 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
YM_CloseOnEsc
Page id 81 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
Page id 85 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
Page id 84 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
Page id 85 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
Page id 85 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
%Z#YM_TempViewer
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
Page id 84 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
Page id 84 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
YM_CloseOnEsc
>I- .
Page id 84 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
reader
openWindow
openWindow
tl =
, 2040 -- higher than
"0,0"
pageUnitsToClient(
YM_TempViewer
>IEsc
Page id 84 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
ge id 121 of Book "C:\MTB40\TUTORIAL\CBTTOUR2.TBK"
openWindow
openWindow
tl =
, 2040 -- higher than
"0,0"
pageUnitsToClient(
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
Page id 84 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
Page id 85 of Book "G:\FRANKJR\WORK\FEATUT6.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_CloseOnEsc
Page id 85 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
1./YM_CloseOnEsc
YM_TempViewer
YM_CloseOnEsc
Page id 84 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 85 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
!` YM_CloseOnEsc
Page id 85 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
%#Z#^"
#YM_TempViewer
"YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
J?Z?S
^%n%S
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
'2(Z#"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
'2(6'
'YM_TempViewer
'YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
*,*YM_TempViewer
)YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
`,p,S
,YM_TempViewer
,4,YM_CloseOnEsc
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
../2.
.YM_TempViewer
.YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
w12%n
H=,KS
21B1S
=R1YM_TempViewer
1YM_CloseOnEsc
Page id 81 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
3YM_TempViewer
4Z3YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
6T6X5
5YM_TempViewer
5YM_CloseOnEsc
Page id 79 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
.8>8S
8N8YM_TempViewer
8YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
:YM_TempViewer
:V:YM_CloseOnEsc
Page id 79 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
<`W4U
!=zI =YM_TempViewer
1=zI0=
<YM_CloseOnEsc
>ItC5
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
?j?YM_TempViewer
%YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
AYM_TempViewer
BrAYM_CloseOnEsc
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
7DlDpC
DYM_TempViewer
#DlD"D
CYM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
FFVFS
FfFYM_TempViewer
FYM_CloseOnEsc
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
IzIlD"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
HYM_TempViewer
HYM_CloseOnEsc
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
=KD=<KYM_TempViewer
MKD=LK
0YM_CloseOnEsc
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
MYM_TempViewer
MDMYM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
P>PBO
OYM_TempViewer
OYM_CloseOnEsc
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
R8RYM_TempViewer
QYM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
T4U>P"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
nTTYM_TempViewer
kT>Ix
TYM_TempViewer
ajTYM_CloseOnEsc
Page id 79 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
U$c U
aYM_TempViewer
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
WYM_TempViewer
<YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
:YJYS
YZYYM_TempViewer
YYM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
[YM_TempViewer
\b[YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
'^\^`]
^YM_TempViewer
]YM_CloseOnEsc
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
JzZzS
``p`S
`YM_TempViewer
l4`YM_CloseOnEsc
Page id 85 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
a>IdT
b U\^"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
b UnHYM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
Cexe$cB
Cexe|d
eYM_TempViewer
/exe.e
dYM_CloseOnEsc
Page id 81 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
RgbgS
grgYM_TempViewer
g&gYM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
i jxe"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
i j$i
iYM_TempViewer
i jziYM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
pxYM_TempViewer
$l4lS
xDlYM_TempViewer
kYM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
`YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
qJqNp
pYM_TempViewer
pYM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
$s4sS
sDsYM_TempViewer
rYM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
uYM_TempViewer
uLuYM_CloseOnEsc
Page id 81 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
wYM_TempViewer
xYM_TempViewer
wYM_CloseOnEsc
Page id 85 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
zjzYM_TempViewer
`YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
|YM_TempViewer
}r|YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
~YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
YM_CloseOnEsc
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
kpxYM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_TempViewer
YM_CloseOnEsc
Page id 85 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_CloseOnEsc
Page id 81 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 79 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_CloseOnEsc
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
YM_TempViewer
YM_TempViewer
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
Page id 84 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
YM_CloseOnEsc
YM_TempViewer
YM_CloseOnEsc
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
Page id 81 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 79 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 84 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
YM_TempViewer
YM_TempViewer
YM_CloseOnEsc
YM_TempViewer
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 79 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
YM_CloseOnEsc
YM_TempViewer
YM_CloseOnEsc
Page id 81 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
Page id 79 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 81 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_TempViewer
YM_CloseOnEsc
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 81 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
ge "When the Specialist is done..."
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 79 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 80 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 78 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 79 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
YM_TempViewer
YM_CloseOnEsc
Page id 82 of Book "G:\FRANKJR\WORK\FEATUT7.TBK"
s_ctb30r_PopViewers
ASYM_itemOffset
closeWindow
closeWindow
4s_ctb30r_PopViewers
ASYM_itemOffset(
Cover
firstIdle
buttonClick
ASYM_Reset
ASYM_Reset
firstIdle
--transition "wipe
<speed 2000"
oskipNavigation =
buttonClick
ASYM_Reset
YM_BeenHere
Cover
94110315103218210218528
Accent
Accent
Title
Subtitle
94110315103218210218528
ASYM_TpID
Title Page
reader
single
v4ASYM_BeenHere
:timerID
enterPage
:timerID
:timerID
timerNotify
:timerID
:timerID
leavePage
ASYM_BeenHere
otimerID = TimerStart(single,4000,1000,
timerNotify
timerStop(
Asymetrix Sample Application
Multimedia ToolBook 4.0
CBT Edition
Key Features Overview
YM_BeenHere
Title
94110315103218210218528
ASYM_TpID
Accent
Accent
Title
Subtitle
buttonClick
buttonClick
Navigation Controls
Previous
ASYM_DoHyperlink
Ldisabled
buttonClick
buttonDown
buttonClick
ASYM_PreviousNavigablePage
Ldisabled
enterPage
-- This
{has hyperlink
odisabled
obj =
objectFromPoint(
col =
ASYM_DoHyperlink(
, buttonClick)
notifyBefore
ASYM_PreviousNavigablePage()
disabled
buttonClick
<Previous>
_ASYM_Hyperlinks
Previous
disabled
page "menu"
zoom out speed 700 at
HASYM_GotoPage
Ldisabled
buttonDown
odisabled
obj =
objectFromPoint(
col =
ASYM_GotoPage("
c""",\
"zoom out speed 700
)" &&
disabled
buttonClick
<Next>
_ASYM_Hyperlinks
disabled
enterPage
leavepage
Vqfqu4
Key Features Overview
Multimedia ToolBook 4.0
CBT Edition
Click a topic name to go to it.
To return to this menu, click the top of the navigation cube at any time.
To exit, press Alt+F4 or return to this menu page and click Exit.ick Exit.
Ldisabled
buttonDown
ASYM_PreviousNavigablePage
Ldisabled
enterPage
odisabled
obj =
objectFromPoint(
col =
notifyBefore
ASYM_PreviousNavigablePage()
disabled
Previous
Ldisabled
buttonDown
ASYM_PreviousNavigablePage
Ldisabled
enterPage
odisabled
objectFromPoint(
notifyBefore
ASYM_PreviousNavigablePage()
disabled
You're already at the menu!
lASYM_DoGenericTextFeedback
buttonClick
buttonClick
ASYM_DoGenericTextFeedback(
, "You're already
)the
Ldisabled
buttonDown
ASYM_NextNavigablePage
Ldisabled
enterPage
odisabled
obj =
objectFromPoint(
col =
notifyBefore
ASYM_NextNavigablePage()
disabled
Ldisabled
buttonDown
ASYM_NextNavigablePage
Ldisabled
enterPage
odisabled
objectFromPoint(
notifyBefore
ASYM_NextNavigablePage()
disabled
raised
inset
buttonDown
>= inset
objectFromPoint(
() <>
"raised"
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Introduction title
ID 12
zoom out upperRight speed 1000
_ASYM_Hyperlinks
buttonClick
buttonClick
Introduction
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Chapter 1
zoom out speed 1000 at %sysMousePosition%
_ASYM_Hyperlinks
buttonClick
buttonClick
Book Specialistsialists
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Chapter 2
zoom out speed 700 at %sysMousePosition%
_ASYM_Hyperlinks
buttonClick
buttonClick
Layout templatess
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Chapter 4
ID 17
zoom out speed 1000 at %sysMousePosition%
_ASYM_Hyperlinks
buttonClick
buttonClick
Widgets
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Chapter 5
ID 37
zoom out speed 1000 at %sysMousePosition%
_ASYM_Hyperlinks
buttonClick
buttonClick
Question Manager
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Chapter 6
ID 43
zoom out speed 1000 at %sysMousePosition%
_ASYM_Hyperlinks
buttonClick
buttonClick
Creating a question
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Chapter 7
ID 39
zoom out speed 1000 at %sysMousePosition%
_ASYM_Hyperlinks
buttonClick
buttonClick
Response analysis & feedbackck
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Chapter 8
ID 67
zoom out speed 1000 at %sysMousePosition%
_ASYM_Hyperlinks
buttonClick
buttonClick
Feedback
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Chapter 9
ID 40
zoom out speed 700 at %sysMousePosition%
_ASYM_Hyperlinks
buttonClick
buttonClick
Branching and hyperlinks
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Chapter 10
ID 70
zoom out speed 1000 at %sysMousePosition%
_ASYM_Hyperlinks
buttonClick
buttonClick
Scores and logs
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Chapter 11
ID 41
zoom out speed 1000 at %sysMousePosition%
_ASYM_Hyperlinks
buttonClick
buttonClick
Course Management System
Chapter 1
pASYM_IAmWidget
ASYM_SummonWidgets
buttonClick
h#asym_findHyperPage
v4ASYM_BeenHere
u@ASYM_GetHyperlinks
indicator
buttonclick
enterPage
ASYM_Reset
-- This
{has hyperlink
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
buttonClick
fld =
indicator =
-- Find the
linked
-- Is there a
ASYM_GetHyperlinks(
, "buttonclick")
asym_findHyperPage(
-- If a valid
was found, '
' now
-- a
reference
ASYM_BeenHere
ASYM_Reset
buttonClick
Chapter 12
ID 42
zoom out speed 1000 at %sysMousePosition%
_ASYM_Hyperlinks
buttonClick
buttonClick
Deploying applicationss
enterPage
ASYM_SummonWidgets
94110315103218210218528
ASYM_TpID
Accent
Accent
Title
Subtitle
buttonClick
buttonClick
Navigation Controls
Previous
Ldisabled
buttonDown
ASYM_PreviousNavigablePage
Ldisabled
enterPage
-- This
{has hyperlink
odisabled
obj =
objectFromPoint(
col =
notifyBefore
ASYM_PreviousNavigablePage()
disabled
buttonClick
<Previous>
_ASYM_Hyperlinks
@ R!n
Previous
disabled
page "menu"
zoom out speed 700 at
HASYM_GotoPage
Ldisabled
buttonDown
Ldisabled
enterPage
odisabled
obj =
objectFromPoint(
col =
ASYM_GotoPage("
c""",\
"zoom out speed 700
)" &&
notifyBefore
disabled
Ldisabled
buttonDown
ASYM_NextNavigablePage
Ldisabled
enterPage
-- This
{has hyperlink
odisabled
obj =
objectFromPoint(
col =
notifyBefore
ASYM_NextNavigablePage()
disabled
buttonClick
<Next>
_ASYM_Hyperlinks
disabled
enterPage
Introduction title
Introduction
Multimedia ToolBook 4.0 CBT Edition Edition
Getting Started
Chapter Heading
94110315103218210218528
ASYM_TpID
Accent
Accent
Title
Subtitle
(unnamed)
pASYM_IAmWidget
ASYM_SummonWidgets
v4ASYM_BeenHere
enterPage
ASYM_Reset
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
notifyAfter
Z= ASYM_BeenHere
ASYM_Reset
BeenHere
tbk_wid_name
checked
tbk_wid_props
boolean
tbk_wid_values
false
ASYM_BeenHere
Asymetrix
ASYM_WID_Author
94-10-17
ASYM_WID_CreateDate
Widget will show "dog eared" pages to indicate the page has been previously visited.
ASYM_WID_Description
Navigation controls
Previous
Ldisabled
buttonDown
ASYM_PreviousNavigablePage
Ldisabled
enterPage
-- This
{has hyperlink
odisabled
obj =
objectFromPoint(
col =
notifyBefore
ASYM_PreviousNavigablePage()
disabled
buttonClick
<Previous>
_ASYM_Hyperlinks
Previous
disabled
Ldisabled
buttonDown
-- This
{has hyperlink
odisabled
obj =
objectFromPoint(
col =
buttonClick
zoom out speed 1000 at %sysMousePosition%
_ASYM_Hyperlinks
Ldisabled
buttonDown
ASYM_NextNavigablePage
Ldisabled
enterPage
-- This
{has hyperlink
odisabled
obj =
objectFromPoint(
col =
notifyBefore
ASYM_NextNavigablePage()
disabled
buttonClick
<Next>
_ASYM_Hyperlinks
disabled
ASYM_SummonWidgets
enterPage
enterPage
MMTB and CBT Edition
Introduction
Multimedia ToolBook 4.0 and CBT Editionnnon
CBT Edition is an extension of Multimedia ToolBook
4.0.
Every feature of Multimedia ToolBook 4.0 is available to you in CBT Edition, but with added authoring and runtime capabilities to better support interactive learning applications.lications..ns..ng applications.ons..ns.
Multimedia
ToolBook
CBT Edition authoring extensions
CBT Edition runtime extensionsns[
Multimedia ToolBook 4.0
CBT Edition
Templates
Widgets
Book Specialistss
Practice
objMouseEnter
objMouseLeave
buttonClick
objMouseEnter;
objMouseLeave;
buttonClick
94110315103218210218528
ASYM_TpID
Accent line
Accent
Title
Subtitle
Navigation Controls
Previous
Ldisabled
buttonDown
ASYM_PreviousNavigablePage
Ldisabled
enterPage
-- This
{has hyperlink
odisabled
obj =
objectFromPoint(
col =
notifyBefore
ASYM_PreviousNavigablePage()
disabled
buttonClick
<Previous>
_ASYM_Hyperlinks
Previous
disabled
Ldisabled
buttonDown
-- This
{has hyperlink
odisabled
obj =
objectFromPoint(
col =
buttonClick
zoom out speed 1000 at %sysMousePosition%
_ASYM_Hyperlinks
Ldisabled
buttonDown
buttonClick
ASYM_NextNavigablePage
Ldisabled
enterPage
-- This
{has hyperlink
odisabled
obj =
objectFromPoint(
col =
buttonClick
lockScreen
notifyBefore
ASYM_NextNavigablePage()
disabled
buttonClick
<Next>
_ASYM_Hyperlinks
disabled
(unnamed)
pASYM_IAmWidget
ASYM_SummonWidgets
v4ASYM_BeenHere
enterPage
ASYM_Reset
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
Z= ASYM_BeenHere
ASYM_Reset
BeenHere
tbk_wid_name
checked
tbk_wid_props
boolean
tbk_wid_values
false
ASYM_BeenHere
Asymetrix
ASYM_WID_Author
94-10-17
ASYM_WID_CreateDate
Widget will show "dog eared" pages to indicate the page has been previously visited.
ASYM_WID_Description
Technically speaking
Technically Speaking...
enterPage
ASYM_SummonWidgets
ASYM_reset
leavePage
author
Learning about MMTB
Introduction
Learning about Multimedia ToolBook
Multimedia ToolBook has two working levels: Author and Reader. Author is where you create and modify your application. Reader is where you run it. As an author, you can switch between the two at any time by pressing F3.
To learn the basics of Multimedia ToolBook, choose Learning ToolBook from the Help menu while at Author level.hor level.
Stage 1
help menu
firstIdle
help menu
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "help
notifyBefore
admin.exe
leavePage
firstIdle
Getting started
Introduction
Getting started
CBT Edition adds Book Specialists to help you get started with your first Multimedia ToolBook application.
The best way to become familiar with the system is to experiment fearlessly--you can always delete the result if you don't like it.
Online Help is always available..vailable.as we't like it.
Stage 1
specialist (general)
firstIdle
specialist (general)
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "specialist (general)"
notifyBefore
admin.exe
leavePage
firstIdle
Introduction - Summary
Introduction - Summary
Summary
CBT Edition contains all the features and capabilities of Multimedia ToolBook 4.0, augmented by the CBT Edition features.
To learn the basics of Multimedia ToolBook, run the hands-on Multimedia ToolBook tutorial.
CBT Edition helps you get started with your first Multimedia ToolBook applications.ier.al.eds.
Summary
94110315103218210218528
ASYM_TpID
Accent
Accent
Title
Subtitle
(unnamed)
pASYM_IAmWidget
ASYM_SummonWidgets
v4ASYM_BeenHere
enterPage
ASYM_Reset
notifyBefore ASYM_SummonWidgets
ASYM_IAmWidget
notifyAfter
Z= ASYM_BeenHere
ASYM_Reset
BeenHere
tbk_wid_name
checked
tbk_wid_props
boolean
tbk_wid_values
false
ASYM_BeenHere
Asymetrix
ASYM_WID_Author
94-10-17
ASYM_WID_CreateDate
Widget will show "dog eared" pages to indicate the page has been previously visited.
ASYM_WID_Description
Navigation Controls
Previous
Ldisabled
buttonDown
ASYM_PreviousNavigablePage
Ldisabled
enterPage
-- This
{has hyperlink
odisabled
obj =
objectFromPoint(
col =
notifyBefore
ASYM_PreviousNavigablePage()
disabled
buttonClick
<Previous>
_ASYM_Hyperlinks
Previous
disabled
page "menu"
zoom out speed 700 at
HASYM_GotoPage
Ldisabled
buttonDown
odisabled
obj =
objectFromPoint(
col =
ASYM_GotoPage("
c""",\
"zoom out speed 700
)" &&
Ldisabled
buttonDown
ASYM_NextNavigablePage
Ldisabled
enterPage
Ldisabled
buttonClick
-- This
{has hyperlink
odisabled
obj =
objectFromPoint(
col =
notifyBefore
ASYM_NextNavigablePage()
buttonClick
disabled
buttonClick
<Next>
_ASYM_Hyperlinks
disabled
ASYM_SummonWidgets
enterPage
enterPage
Chapter 1
ading
Chapter 1 Title Here
Book
Specialistsalistsand Widgets
Quick overview of the
Book Specialists available when you start a new application
tion of Multimedia ToolBook
Edition.
Using an Application Specialist
Book Specialistsialistsecialist
Using a Book Specialistecialist
A Book Specialist asks you a number of questions about the application you want to create, then builds a Multimedia ToolBook book according to those specifications.
You can use a Specialist as many times as you want until you get the result you want. The Specialist keeps track of your specifications from one session to the next.
ScreenCam Group
Show me
movieNumber
Show Me
Sound
Sound
Movie ID
enterPage
ASYM_Reset
author
reader
When the Specialist is done...
Book Specialistsialists
When the Book Specialist is done,
your work begins
The Book Specialist constructs the basic skeleton for the book, and includes the necessary scripts.
You can then add content such as text, graphics and interactive widgets to the book.
You can modify the basic layout, add backgrounds, pages and objects, and customize the scripts.
script
widget
background
object
ScreenCam Group
Show me
movieNumber
Show Me
Sound
Sound
Movie ID
enterPage
ASYM_Reset
author
reader
Custom application specialists
Book Specialistsialists
Your own Book Specialistsialists=
Book Specialists are actually Multimedia ToolBook applications that can be copied and modified to create custom specialists.
As you become more familiar with the powerful scripting capabilities of Multimedia ToolBook, you may want to add your own Book Specialists to the system to create your applications exactly as you like them.
Specialists - Summary
Book Specialistsialistsand Widgets
Summary
To choose a Book Specialist, just start Multimedia ToolBook or choose New from the File menu.
The Book Specialists use your specifications to build the skeleton for your application.
Experienced Multimedia ToolBook users can create and add Book Specialists to suit their needs.
Chapter 2
ading
Chapter 2 Title Here
Layout templates
Quick review of the layout templates included in CBT Edition..on.T edition.n
Intro to templates
Layout templates
Pages, backgrounds and templatesc
A Multimedia ToolBook book contains one or more pages. Each page has a background, which can be shared with other pages. This way, the same object can appear on multiple pages.
Backgrounds may contain record fields, which are objects placed on the background that can contain different text on each page.
Pointer
buttonDown
buttonUp
buttonClick
author
objectFromPoint(
buttonClick
notifyBefore
This is an irregular polygon. It
belongs to the background.hat tracks the mouse movements.ter visiting another one.
Point to the various objects on this page.
enterpage
reader
asym_reset
author
author
leavePage
Pages, Backgrounds etc.
Layout templates
Pages, backgrounds and templates
(continued)
Each layout template in CBT Edition consists of several backgrounds that contain record fields and other objects such as buttons or graphics.
Because a background cannot exist without at least one page, the templates actually contain pages, with a different background for each page..ge.......
R&e"
Stage 1
Backgrounds in a template
firstIdle
Backgrounds in a template
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "Backgrounds
a template"
notifyBefore
leavePage
firstIdle
Pages, Backgrounds etc.
Layout templates
Choosing a templatennnnnnnnnnnnn[
Book Specialists allow you to choose a basic layout template for your new book.
The templates are organized as files in subdirectories, with each subdirectory containing template files based on the same graphic design.
Each directory may contain one or several color variations.n one or several color variations....................... color variations.
ipe right fast
Stage 1
A few templates
firstIdle
A few templates
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "A few templates"
notifyBefore
leavePage
firstIdle
Creating Templates
Layout templates
Creating your own templates
You can create your own layout template from any Multimedia ToolBook book. Delete any extra pages until there is only one page per background, name each background, and then save the file with a .PTP extension.
The Book Specialists look for specific background names in the templates:
Layout templates are collections of backgrounds that you can import into your application and modify to suit your needs.
The templates are organized as files in subdirectories, with each subdirectory containing template files based on the same graphic design. The directory may contain one or several color variations.
You can create your own layout templates, and add them to the CBT Editions authoring environment.
nment.
ion Specialists that use templates expect to find backgrounds with specific names in a template file.
YM_BeenHere
Chapter 4
Chapter 4
Widgets
Overview of the Widgets included in the CBT Edition
Widget definition
leavePage
"Sorry, you cannot
widgets
sysOpenWindows
v <>
close
Widgetsdefinition
Definition
A widget is a Multimedia ToolBook object that already has a script or certain properties that make it immediately useful.
CBT Edition comes with a collection of over 200 widgets, including question widgets, media widgets, navigation widgets, smart fields, and others.
Stage 1
various widgets
firstIdle
various widgets
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "various widgets"
notifyBefore
Show Me
w, #>
Widget
6/ASYMA_GetAuthorIni
stage 2
ASYM_IsFile
Paths
yshowYourThing
CTB40.WBK
Widget Catalog
You need a full installation of CBT Edition to preview this.
Widgets
ASYMA_NewWidget
buttonClick
leavePage
buttonClick
showYourThing
stage "
path = ASYMA_GetAuthorIni("Paths","Widget")
wbk =
"CTB40.WBK"
xASYM_IsFile(
X("Widgets","
J Catalog")
ASYMA_NewWidget
(sysOpenWindows) = 1
need a full installation
CBT Edition
preview
notifyBefore
) > 0
v <>
close v
Show Me
Stage 2
widget catalog
showYourThing
widget catalog
leavePage
author
showYourThing
--mmclose
mmplay bitmap "widget catalog"
notifyBefore
leavePage
author
firstIdle
Using widgets
z u4
Widgets
Using widgets
asdffdsaf
To use a widget, simply drag it from the Widget Catalog onto your page or background. Some widgets are actually hotwords, and you can only drop them inside a field or record field.
Many, but not all widgets have a specialized editor used to set up the widget. The Widget Properties command in the object menu opens that editor.
Stage 1
various widgets
firstIdle
various widgets
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "various widgets"
notifyBefore
ScreenCam Group
Show me
movieNumber
Show Me
Sound
Sound
Movie ID
leavePage
enterPage
ASYM_Reset
firstIdle
author
reader
What's in a widget?
Widgets
What's in a widget?
A widget can be a single object, or a group of objects. The object may have a script and, if it is a group, it may contain other objects with their own scripts. Most CBT Edition widgets rely also on shared scripts contained in the runtime system books.
The behavior of widgets is usually determined by properties which the scripts read at runtime. e.
Sample question
pASYM_IAmWidget
ASYM_SummonWidgets
ASYM_RegisterResponse
buttonDown
ASYM_WID_Chosen
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
ASYM_RegisterResponse
ASYM_WID_Chosen obj, mode
ASYM_Q
tbk_wid_name
ASYM_WID_AutoLockAnswer
ASYM_WID_AutoReset
ASYM_WID_DelayFeedback
ASYM_WID_IsScored
ASYM_WID_MaxScore
ASYM_WID_MultipleAnswers
ASYM_WID_Randomize
tbk_wid_props
MULTWID.SPB
ASYM_WID_Editor
MULTICHOICE
ASYM_WID_QType
Choice #1
FALSE
This button is only one of the objects in the group.
false,auto
Choice #2
FALSE
This button is only one of the objects in the group.
false,auto
Choice #3
FALSE
This button is only one of the objects in the group.
false,auto
Choice #4
FALSE
This button is only one of the objects in the group.
false,auto
ASYM_WID_AnsArray
false
ASYM_WID_AutoLockAnswer
false
ASYM_WID_Randomize
false
ASYM_WID_MultipleAnswers
false
ASYM_WID_DelayFeedback
ASYM_WID_AnswerLocked
boolean
boolean
boolean
boolean
boolean
boolean
tbk_wid_values
Asymetrix
ASYM_WID_Author
94-12-5
ASYM_WID_CreateDate
Uses standard pushbuttons for user input. Supports single or multiple correct responses, automatic locking, delayed or immediate feedback using text, clips, OpenScript message and navigation.
ASYM_WID_Description
ASYM_WID_TimeStart
ASYM_WID_TriesUsed
ASYM_WID_TimeUsed
ASYM_WID_TimeChosen
ASYM_WID_TriesMax
ASYM_WID_TimeMax
MULTWID.hlp
ASYM_WID_Doc
ASYM_WID_MaxScore
FALSE
ASYM_WID_IsScored
ASYM_ReadyToRun
FALSE
870,1563
customSpot
Choice #1
870,2070
customSpot
Choice #2
870,2577
customSpot
Choice #3
870,3084
customSpot
Choice #4
This group of buttons is a widget.
The individual buttons within the groups are not widgets.
ASYM_SummonWidgets
Custom widgets
Widgets
Custom widgets
Once you have created an object you would like to reuse easily, you can store it in a widget book.
A widget book is Multimedia ToolBook book that contains widgets and is saved with the .WBK extension. When you open this book in the Widget Catalog, Background names are shown as widget categories, and page names as subcategories...t categories, and page names as subcategories.
YM_BeenHere
Widgets - Summary
Widgets
Summary
Widgets are ready-made ToolBook objects that you can use to add functionality to your application. You can also use them as examples for your own objects. Most widgets are designed to function as soon as you drag them onto a page in your application.
Some widgets are single objects with only a short script or some special properties. Others are groups. Many widgets depend on the CBT Edition extensions to work properly.
You can create your own widgets and add them to the authoring environment................................nvironment.nvironment.
YM_BeenHere
Chapter 5
Chapter 5
Question Managerent
Overview of the
response analysis
and feedback features
of CBT Editionnions
What is the question manager
Question Manager
Question and response management3
Most interactive learning applications include some form of practice or questions.
The question widgets provided in CBT Edition use a common Question Manager to provide response evaluation, scoring, timing and lockouts. The Question Manager also resets questions at the appropriate time. e.
What is it, really?
Question Manager
What is it?
The Question Manager is a set of cooperating script handlers and functions in a runtime system book.
Every question widget in CBT Edition can be set up with a Question Properties dialog box that does not require any scripting.
No scripting is required on your part unless you want to modify the way a question widget works.
uestion widget works.
uestion widgets.r of the question widgets.
Stage 1
Widget Prop TF tab 1
firstIdle
Widget Prop TF tab 1
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "Widget Prop TF
notifyBefore
4p TF
leavePage
firstIdle
Question Protocols
Question Managerent
Question protocols
Questions and their responses can take many forms. For instance, you can answer a multiple-choice question by clicking an object, or a response may involve dragging an object to a specific position.
The Question Manager uses generic protocols to analyze different types of answers, so you can mix question types in the same application.
Question protocol example
Question Managerent
Question protocol example
To answer this example question, you must drag one object on top of another. The object to be dragged is a question widget. Dragging it constitutes a response. Evaluating the response consists of checking the name of the object on top of which the question object is dropped.
Try the example on this page.ge.which it is dropped.
Try the example on this page..
Ellipse
Irregular polygon
Polygon
Rectangle
Drag the arrowhead to point to the rectangle..
(unnamed)
& 6 2
ASYM_DRAGGABLE
Asymetrix
ASYM_WID_Author
Name the part question. Scores by dropping on an object with a defined name. Moves the target object while dragging. Supports single or multiple correct responses, delayed or immediate feedback, automatic scoring and navigation.
ASYM_WID_Description
NAMEPART.SPB
ASYM_WID_Editor
NAMEPART
ASYM_WID_QType
94-12-5
ASYM_WID_CreateDate
ASYM_Q
tbk_wid_name
ASYM_WID_DragSnap
false
ASYM_WID_RejectWrong
false
ASYM_WID_AutoLockAnswer
Rectangle
Right!
clip "Yeah",false,
true,auto
<else>
FALSE
That's not it
clip "uhuh",false,
true,auto
ASYM_WID_AnsArray
FALSE
ASYM_WID_AnswerLocked
ASYM_WID_TimeStart
ASYM_WID_TriesUsed
false
ASYM_WID_DelayFeedback
ASYM_WID_AutoLockAnswer
ASYM_WID_AutoReset
ASYM_WID_DelayFeedback
ASYM_WID_DragSnap
ASYM_WID_IsScored
ASYM_WID_MaxScore
ASYM_WID_MultipleAnswers
ASYM_WID_RejectWrong
tbk_wid_props
boolean
boolean
boolean
boolean
boolean
boolean
boolean
tbk_wid_values
NAMEPART.hlp
ASYM_WID_Doc
ASYM_WID_TimeUsed
ASYM_WID_TimeChosen
ASYM_WID_TriesMax
ASYM_WID_TimeMax
ASYM_WID_MaxScore
FALSE
ASYM_WID_IsScored
7612,2377
ASYM_ResetPosition
5722,3727
_startLoc
7418,2363
_position
_layer
leavePage
ASYM_WID_AutoReset
ASYM_ReadyToRun
clip "uhuh"
_openClip
(unnamed)
ASYM_SummonWidgets
ASYM_ObjectDropped
ASYM_BeginDrag
Question Manager
Who does what
When a question widget detects something that might be a response, it sends a message to the Question Manager.
The Question Manager then analyses the response. How it actually does this depends on the type of question and other characteristics of the question object.
Interpreting responses
respNumber
Question Managerent
Evaluating responseses
The actual question object contains only simple scripts. If it detects a user action that constitutes a response, it sends a message to the Question Manager.
The Question Manager may in turn send a message to the object to tell it to show that the response is accepted. For example, a button may look "pushed in" after it was chosen.en..............en.
Click a button to see how messages are sent between the question object and the Question Manager scripts.
If you assign specific feedback, branching, or another action to a specific response, the Question Manager shows the feedback or executes the specified action.
The Question Manager also handles lockouts and question timing. For example, you can specify that a question will be locked out as soon as the student gives any response.gives any response.esponse.......................................
The Question Manager handles the response analysis, scoring, timing and lockouts shared by all the question widgets provided in the CBT Edition.
The Question Manager is actually a collection of OpenScript message handlers and script functions that get called as needed.
You don't need to write additional scripts for a question widget, unless you want to modify an existing widget or create a new one.n Manager analyses the response according to the characteristics of the question object.
You don't need to write additional scripts for a question widget, unless you want to modify an existing widget or create a new one..new one..........
Chapter 6
Chapter 6
Creating a question
Easy steps to test item construction
Creating a Question
Creating a question
Using a question widgetson Widgets
The easiest way to create a question is use one of the question widgets provided in CBT Edition.
You can select the type of question widget you want in the Widget Catalog, then drag it onto a page of your application.
A question widget may be a simple object, or a group containing several objects..ts.bjects.. group is treated as an object and can have a name, a script and other usesufl properties.
widget
ScreenCam Group
Show me
movieNumber
Show Me
Sound
Sound
Movie ID
enterPage
ASYM_Reset
author
reader
Creating a Question
Creating a question
Using CBT Edition question widgets
In Multimedia ToolBook, a group is treated as an object and can have a name, a script and other useful properties. You can select the group to work with it, or select an individual object within the group.
When a question object is selected, the Question Properties command becomes available on the Object menu.t menu.omes available in the Object menu.
Stage 1
Menu with Question Props
firstIdle
Menu with Question Props
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "Menu
fQuestion Props"
notifyBefore
(unnamed)
B R 2
Asymetrix
ASYM_WID_Author
94-12-5
ASYM_WID_CreateDate
Simple type-in question. Supports match word order, case, punctuation, "sounds like", and raw OpenScript statements.
ASYM_WID_Description
TYPEIN.SPB
ASYM_WID_Editor
TYPEIN
ASYM_WID_QType
ASYM_WID_MaxChars
ASYM_Q
tbk_wid_name
false
ASYM_WID_AutoLockAnswer
<else>
FALSE
true,false,false,false,false
ASYM_WID_AnsArray
ASYM_WID_AnswerLocked
false
ASYM_WID_DelayFeedback
ASYM_WID_TimeStart
ASYM_WID_TriesUsed
ASYM_WID_AutoLockAnswer
ASYM_WID_AutoReset
ASYM_WID_DelayFeedback
ASYM_WID_IsScored
ASYM_WID_MaxScore
tbk_wid_props
boolean
boolean
boolean
boolean
tbk_wid_values
TYPEIN.hlp
ASYM_WID_Doc
ASYM_WID_TimeUsed
ASYM_WID_TimeChosen
ASYM_WID_TriesMax
ASYM_WID_TimeMax
ASYM_WID_MaxScore
FALSE
ASYM_WID_IsScored
ASYM_ReadyToRun
_lastText
ScreenCam Group
Show me
movieNumber
Show Me
Sound
Sound
Movie ID
leavePage
enterPage
ASYM_Reset
ASYM_SummonWidgets
firstIdle
author
reader
FALSE
Setting question properties
Creating a question
Setting question properties
Once you have added a question widget to your application, you must set the properties that will determine how it works, and what answers are valid. If the question is scored, you must also specify how to score different responses.
You do all this by choosing or editing options in the Question Properties dialog box.
Stage 2
Widget Prop TF Tab 3
firstIdle
Widget Prop TF tab 3
leavePage
notifyAfter firstIdle
--mmclose
mmplay bitmap "Widget Prop TF Tab 3"
notifyBefore
6p TF
ScreenCam Group
Show me
movieNumber
Show Me
Sound
Sound
Movie ID
leavePage
enterPage
ASYM_Reset
firstIdle
author
reader
Definable question widgets
Creating a question
Definable question widgets
In most cases, the question widget you dragged from the Widget Catalog is the object the user will interact with.
However, the CBT Edition also includes "definable" question widgets that use objects you create for interaction. For example, a "definable" multiple-choice widget can respond to mouse clicks on pictures you imported into a ToolBook page...ok page..k page.reated yourself..
(unnamed)
illustration only. Not a real widget
> J I
` l E
Asymetrix
ASYM_WID_Author
MATCHOBJ
ASYM_WID_QType
MTCHOBJ.SPB
ASYM_WID_Editor
ASYM_Q
tbk_wid_name
false
ASYM_WID_AutoLockAnswer
false
ASYM_WID_MultipleAnswers
FALSE
ASYM_WID_AnswerLocked
ASYM_WID_DelayFeedback
_LineEndSize
_LineEndStyle
_LineColor
ASYM_WID_AutoLockAnswer
ASYM_WID_AutoReset
ASYM_WID_IsScored
ASYM_WID_MaxScore
ASYM_WID_Randomize
ColorChosen
ColorNotChosen
tbk_wid_props
ASYM_WID_TimeStart
ASYM_WID_TriesUsed
color
boolean
boolean
boolean
boolean
color
color
tbk_wid_values
ASYM_WID_TimeChosen
Allows any objects on the page to be used as elements of a Match Item question. User input involves dragging a line from one named object on the page to another named object on the page. Needs a response checking widget to play feedback and get score.
ASYM_WID_Description
MTCHOBJ.hlp
ASYM_WID_Doc
94-12-5
ASYM_WID_CreateDate
ASYM_WID_TimeUsed
ASYM_WID_TriesMax
ASYM_WID_TimeMax
ASYM_WID_AnsArray
255,255,0
colorChosen
255,255,255
colorNotChosen
255,0,0
_lineColor
none,solidHead
_lineEndStyle
_lineEndSize
ASYM_WID_MaxScore
false
ASYM_WID_IsScored
ASYM_WID_RejectWrong
ASYM_WID_Exclusive
ASYM_WID_PartialScore
_cursor
Definable Multiple Choice
The Definable Multiple Choice widget hides itself at reader level and manages button clicks on other objects that remain visible. visible.ser will interact with remain visible.
Creating a question
Creating a question
Summary
Question widgets are ToolBook objects and can consist of a single object or a group of objects.
To create a question, choose the appropriate question widget in the Widget Catalog, and then drag it onto the Multimedia ToolBook page.
To set up the various options for a question, select it and choose Question Properties from the Object menu.
Definable question widgets are not self-contained; they work with other objects on the page...
Chapter 7
Chapter 7
Response analysis and feedback
Evaluating different kinds of responsessonse
Response analysis intro
Response analysisoooooo
Different kinds of responses
CBT Edition provides widgets that can analyze different types of responses, including
- Clicking an object
- Dragging an object to
the correct position
- Arranging words or lines
of text
- Filling in the blanks
- Typing a short answer
You can also write scripts to handle any user action and interpret it as a response.....by any user action.
`8\8\8
Check Response widgets
8p8u4
Response analysis
Check Response widgets
Depending on how you set up your questions, you may want to allow the user to experiment with the answer before any analysis takes place.
You can place a Check Response widget on the page and connect it to the question. The user can then click the widget to get an assessment of the response.to provide feedback, show a score, or lock out the question.
Check
T qp
ASYM_W
tbk_wid_name
EVALPAGE.SPB
ASYM_WID_Editor
Group id 143 of Page id 98
ASYM_WID_TargetObject
false
ASYM_WID_Msg
false
ASYM_WID_ShowScore
false
ASYM_WID_LockAnswer
ASYM_WID_PlayFeedback
false
ASYM_WID_ResetTarget
ASYM_WID_LockAnswer
ASYM_WID_Msg
ASYM_WID_PlayFeedback
ASYM_WID_ResetTarget
ASYM_WID_ShowScore
tbk_wid_props
Asymetrix
ASYM_WID_Author
94-12-5
ASYM_WID_CreateDate
Provides automatic scoring for one or more questions on a page. Supports question disabling, feedback and navigation.
ASYM_WID_Description
boolean
boolean
boolean
boolean
tbk_wid_values
EVALPAGE.hlp
ASYM_WID_Doc
false
ASYM_WID_MarkCompleted
value,0
ASYM_WID_ScoreMode
Check Response
Weird
ASYM_Q
tbk_wid_name
ASYM_WID_AutoLockAnswer
ASYM_WID_AutoReset
ASYM_WID_DelayFeedback
ASYM_WID_IsScored
ASYM_WID_MaxScore
majorTics
numTics
resetPosition
sliderMax
sliderMin
sliderPos
tbk_wid_props
tbk_wid_thickness
SLIDER.SPB
ASYM_WID_Editor
Slider
ASYM_WID_QType
ASYM_WID_AnsArray
FALSE
ASYM_WID_AnswerLocked
_sliderMax
_sliderMin
_sliderPos
_numTics
_majorTics
false
ASYM_WID_AutoLockAnswer
ASYM_WID_DelayFeedback
boolean
boolean
boolean
boolean
tbk_wid_values
Asymetrix
ASYM_WID_Author
94-12-5
ASYM_WID_CreateDate
Slider question with definable major and minor tick marks. Supports multiple response ranges and settable min/max values.
ASYM_WID_Description
ASYM_WID_TimeStart
ASYM_WID_TriesUsed
SLIDER.hlp
ASYM_WID_Doc
ASYM_WID_TimeUsed
ASYM_WID_TimeChosen
ASYM_WID_TriesMax
ASYM_WID_TimeMax
ASYM_WID_MaxScore
FALSE
ASYM_WID_IsScored
_lastPos
resetPosition
ASYM_ReadyToRun
frame
frame
FALSE
allowDrop
frame2
FALSE
allowDrop
thumb
hSliderThumb
txClassName
button id 103 of page id 15
glide
width
false
hilight
myTrackPos
Shuttle
helptext
Button
90.1.6
10.946666666666673
20.883333333333344
30.72000000000001e-014
40.66666666666669
50.53333333333336
60.44000000000001
70.3.8
80.2.2
10000
(unnamed)
sliderMove
notifyAfter sliderMove pos
arbitrary precision, comment the
adjust
zeros
tpoint
%"#00.00"
integers
tbk_wid_name
Asymetrix
ASYM_WID_Author
94-12-5
ASYM_WID_CreateDate
If this field is placed on a page with a slider, the slider's current value will be displayed.
ASYM_WID_Description
070.00
A train leaves Chicago, heading west, at 8:00 a.m., and runs at a speed of 64
mph. Another train leaves Seattle, heading East, at 10:00 a.m. the same day, running at 50
mph. How old is the conductor of the first train?train?
startSliderMove
sliderMove
endSliderMove
ASYM_SummonWidgets
sliderMove
it = 47
Right!
false,auto
playMySound "tada.wav"
it < 23
FALSE
Way too young.
false,auto
it > 65
FALSE
No, that was another conductor who is already retired. Try again.
false,auto
it <47
FALSE
Too young.
false,auto
IT > 47
FALSE
Too old
false,auto
<else>
FALSE
Constructed answer analysis
Response analysis
Constructed answer analysis
A constructed answer is one that the reader has to type in. The typing can take place in a field, or you can drop "blanks" to fill in into the text of a field.
Flexible evaluation options for constructed answers include wild cards, capitalization, word order, and "fuzzy spelling". Incorrect answers can also be recognized to provide corrective feedback..eedback.k...edback.seful feedback
` '$I
` '$I
Check
ASYM_W
tbk_wid_name
EVALPAGE.SPB
ASYM_WID_Editor
Field id 12 of Page id 99
ASYM_WID_TargetObject
false
ASYM_WID_Msg
false
ASYM_WID_ShowScore
false
ASYM_WID_LockAnswer
ASYM_WID_PlayFeedback
false
ASYM_WID_ResetTarget
ASYM_WID_LockAnswer
ASYM_WID_Msg
ASYM_WID_PlayFeedback
ASYM_WID_ResetTarget
ASYM_WID_ShowScore
tbk_wid_props
Asymetrix
ASYM_WID_Author
94-12-5
ASYM_WID_CreateDate
Provides automatic scoring for one or more questions on a page. Supports question disabling, feedback and navigation.
ASYM_WID_Description
boolean
boolean
boolean
boolean
tbk_wid_values
EVALPAGE.hlp
ASYM_WID_Doc
false
ASYM_WID_MarkCompleted
value,0
ASYM_WID_ScoreMode
Check Response
Flexible answer checking options include the ability to match
entries, as long as they sound like the expected response..response.
Misspelled fill in the blank
pASYM_IAmWidget
ASYM_SummonWidgets
0/ASYM_GetTypeInData
"_locked
lASYM_DoGenericTextFeedback
<locked>
buttonDown
notifyAfter ASYM_SummonWidgets
ASYM_IAmWidget
_locked
= TRUE
ASYM_DoGenericTextFeedback (
ASYM_GetTypeInData
_layer
1935,285
_size
960,5235
_position
_maxSize
_maxChars
_lastText
Field id 27 of Page id 99
_inputField
TYPEIN
ASYM_WID_QType
TYPEIN.SPB
ASYM_WID_Editor
ASYM_WID_MaxScore
ASYM_WID_IsScored
ASYM_WID_AutoReset
ASYM_Q
tbk_wid_name
ASYM_WID_MaxChars
false
ASYM_WID_AutoLockAnswer
ASYM_WID_AnsArray
ASYM_WID_AnswerLocked
ASYM_WID_TimeStart
ASYM_WID_TriesUsed
false
ASYM_WID_DelayFeedback
Hotword id 92 of Page id 6
notifyBefore author
select self
send clear
to handle leaveField
while my textOverflow > 0
clear last char of my text
send ASYM_TypeInCompleted my text, true, self to my _targetHotword
to handle keyChar x
conditions
when x = 13 or x = 9
send ASYM_TypeInCompleted my text, true, self to my _targetHotword
when x = 27
send ASYM_TypeInCompleted my text, false, self to my _targetHotword
when x >= 32
lockscreen of this window = true
forward
while my textOverflow > 0
clear last char of my text
end
lockscreen of this window = false
else
forward
_script
ASYM_WID_AutoLockAnswer
ASYM_WID_AutoReset
ASYM_WID_DelayFeedback
ASYM_WID_IsScored
ASYM_WID_MaxChars
ASYM_WID_MaxScore
tbk_wid_props
boolean
boolean
boolean
boolean
tbk_wid_values
TYPEIN.hlp
ASYM_WID_Doc
8/2/94
ASYM_WID_CreateDate
ASYM_WID_TimeUsed
ASYM_WID_TimeChosen
ASYM_WID_TriesMax
ASYM_WID_TimeMax
Hotword type-in question. Drag hotword to desired location in a field and the hotword will merge itself into the text. Supports match word order, case, punctuation, "sounds like", and raw OpenScript statements.
ASYM_WID_Description
ASYM_ReadyToRun
Bread
Asymetrix
ASYM_WID_Author
94-12-5
ASYM_WID_CreateDate
Simple type-in question. Supports match word order, case, punctuation, "sounds like", and raw OpenScript statements.
ASYM_WID_Description
TYPEIN.SPB
ASYM_WID_Editor
TYPEIN
ASYM_WID_QType
ASYM_WID_MaxChars
ASYM_Q
tbk_wid_name
false
ASYM_WID_AutoLockAnswer
ASYM_WID_AnsArray
ASYM_WID_AnswerLocked
false
ASYM_WID_DelayFeedback
ASYM_WID_TimeStart
ASYM_WID_TriesUsed
ASYM_WID_AutoLockAnswer
ASYM_WID_AutoReset
ASYM_WID_DelayFeedback
ASYM_WID_IsScored
ASYM_WID_MaxScore
tbk_wid_props
boolean
boolean
boolean
boolean
tbk_wid_values
TYPEIN.hlp
ASYM_WID_Doc
ASYM_WID_TimeUsed
ASYM_WID_TimeChosen
ASYM_WID_TriesMax
ASYM_WID_TimeMax
ASYM_WID_MaxScore
FALSE
ASYM_WID_IsScored
ASYM_ReadyToRun
leavePage
ASYM_WID_AutoReset
wheat and rye
_lastText
What ingredients are used to make bread?
author
ASYM_TypeInCompleted
_targetHotword
leaveField
false
ASYM_TypeInCompleted
_targetHotword
keyChar
notifyBefore
ASYM_TypeInCompleted
o_targetHotword
x = 13
x = 9
x = 27
x >= 32
ASYM_WID_MaxChars
Hotword id 8 of Page id 99
_targetHotword
sdafa
author
ASYM_SummonWidgets
ASYM_WID_ReadyToRun
FALSE
ASYM_WID_ReadyToRun
FALSE
misspelled
Correct. You even spelled it correctly!
false,auto
true,true,false,false,false
Misspelled
Correct, but the capitalization is unnecessary.
false,auto
true,false,false,false,false
misspelled
The actual spelling is "misspelled". But that's close enough.
false,auto
true,false,false,true,false
incorrect
Incorrect answer. Try again.
false,auto
true,false,false,true,false
wrong
FALSE
That's not it. Try again.
false,auto
true,false,false,true,false
<else>
FALSE
true,false,false,false,false
(it contains "wheat" or it contains "rye" or it contains "grain") and (it contains "yeast" or it contains "sourdough")
Right. This answer was evaluated by using the following OpenScript expression:
(it contains "wheat" or it contains "rye" or it contains "grain") and (it contains "yeast" or it contains "sourdough")
false,auto
false,false,true,false,false
it is not null and wordCount(it) = 1
FALSE
It takes more than one ingredient to make bread.
false,auto
false,false,true,false,false
<else>
FALSE
There is something unfamiliar about these ingredients. Try again with the basics, such as wheat and yeast.
false,auto
true,false,false,false,false
Response analysis Summary
Response analysis
Summary
A variety of widgets provide the ability to analyze a wide range of responses.
Response analysis always takes place immediately, but the result can be inspected at any time after the response has been made and as long as the question has not been reset.
Response checking widgets can be used to show the result of the response analysis.
Response analysis is only limited by your imagination. If the built-in widgets don't do what you need, you can write scripts to handle all kinds of user actions and events and perform more specific evaluation of user input.le all kinds of user actions and events and perform more specific evaluation of user input.
Chapter 8
Chapter 8
Giving feedbackk
Flexible feedback options tailored to specific responseseee
Giving feedback
Giving feedback
Response-specific feedback
You can specify what feedback to give when CBT Edition recognizes a particular response for a question widget.
The feedback can take one or more forms. You can display some text, play a media clip, branch to another page, or send an OpenScript message that will trigger your own script to provide feedback in a specialized way.nt types of feedback, thoug
Combining feedback options
Giving feedback
Combining feedback options
You can combine different forms of feedback. For example, you can show some text and then send an OpenScript message.
Obviously, some combinations may not make sense. You decide what works for you and the type of interaction you want to create. If you change your mind, just change the options in the Question Properties dialog box.s dialog box..
Stage 2
Widget Prop TF Tab 4
firstIdle
Widget Prop TF Tab 4
leavePage
notifyAfter firstIdle
--mmclose
mmplay bitmap "Widget Prop TF Tab 4"
notifyBefore
6p TF
leavePage
firstIdle
Text and media clip feedback
Giving feedback
Text and media clip feedback
If you choose to give feedback as a text string, you can instruct the CBT Edition to look for a field or record field called "Feedback" and automatically place the feedback there.
If a feedback field is not used, the text pops up in a small window.f a feedback field is not used, the text pop up in a small window.will be shown in a small popup window.
ecify a stage object, the clip will play in a pop-up window.
Feedback
Wonderful!
buttonClick
Feedback
buttonDown
buttonClick
"Feedback" = "Wonderful!"
notifybefore
Show feedback in a field
[[PopText
PopText
tb40win.dll
You got it!
buttonClick
buttonClick
linkDLL "tb40win.dll"
INT PopText(STRING,
txt = "You got
Show popup feedback
Feedback
buttonDown
Text and media clip feedback
Giving feedback
Text and media clip feedback
If you choose to provide feedback in the form of a visual media clip, you can specify a stage object in which to play the clip. If you don't specify a stage object, the clip will play in a popup window.
window.
If you choose to provide feedback in the form of a visual media clip, you can specify a stage object in which to play the clip. If you don't specify a stage object, the clip will play in a pop-up window.
Stage 1
Choose Clip
firstIdle
Choose Clip
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "Choose Clip"
notifyBefore
leavePage
firstIdle
Giving Feedback - Summary
Giving feedback
Summary
You can associate specific feedback with any response to a question in the Question Properties dialog box.
Different kinds of feedback are available, including text, media clips, or branching to another page. You can also add a script to provide any form of feedback you want.
You can use more than one form of feedback for a given response. Some combinations may not make sense, depending on how you are setting up your interaction.
You can specify where and how to show textual feedback, or play a media clip for feedback.orm of media clips.form of media clips.........
YM_BeenHere
Chapter 9
Chapter 9
Branching and hyperlinks
Navigating to other parts of the course and managing hyperlinks
Question branching and custom hy
Line id 43 of Page id 71
showLine
ASYM_BeenHere
Branching and hyperlinks
Question branching
and custom hyperlinks
Branching to another page in your book or in another book is done by creating a hyperlink to that page.
You can also create custom hyperlinks outside of the context of a question. For example, clicking a hotword could cause a page of explanation to pop up on the screen, or clicking a graphic can navigate to another page.
asym_lockmove
4005,2460
_ASYMA_LockMove
asym_lockmove
5955,2460
_ASYMA_LockMove
asym_lockmove
7965,2460
_ASYMA_LockMove
asym_lockmove
4005,4245
_ASYMA_LockMove
asym_lockmove
5955,4245
_ASYMA_LockMove
asym_lockmove
7965,4245
_ASYMA_LockMove
asym_lockmove
4005,5910
_ASYMA_LockMove
asym_lockmove
5955,5910
_ASYMA_LockMove
asym_lockmove
7965,5910
_ASYMA_LockMove
merID
Branching
Branching and hyperlinks
Branching
Traditionally, branching is defined as "jumping" to another part of the lesson following a response by the student.
In CBT Edition, you provide branching by choosing a hyperlink as the feedback for a specific response. You can then specify a destination page and an optional transition effect in the hyperlink dialog box.n optional transition effect......
Stage 2
Hyperlink Dialog
firstIdle
Hyperlink Dialog
leavePage
notifyAfter firstIdle
--mmclose
mmplay bitmap "Hyperlink Dialog"
notifyBefore
leavePage
firstIdle
Hyperlink examples
1+:![
leavepage
buttonDown
(sysOpenWindows) > 1
close
v <>
Branching and hyperlinks
Hyperlinks
Other kinds of hyperlinks can be triggered when a specific object is clicked.
Any layout object can be hyperlinked to another page. You can also turn any part of text into a hotword that can be hyperlinked.
An application can contain as many hyperlinks as you want, to pages in the same book or in other books.k or in other books.
This button pops up another page on top of the current page.
explanation
Click anywhere in the popup window to dismiss it.
mouseEnter
explanation
mouseLeave
-- This
{has hyperlink
Bpops up another
current
&& "Click anywhere
2 popup
dismiss
"explanation" =
buttonClick
Using an Application Specialist
ID 21
autoClose
popup
_ASYM_Hyperlinks
using a different window style.
This graphic is hyperlinked to another page. When clicked, it pops up the page
explanation
mouseEnter
explanation
mouseLeave
-- This
{has hyperlink
graphic
hyperlinked
another
. When clicked,
pops up
]a different
estyle."
"explanation" =
buttonClick
Hyperlink
ID 104
dialog
popup
_ASYM_Hyperlinks
explanation
This button is hyperlinked to another page. When clicked, it pops up the page.
mouseEnter
explanation
mouseLeave
-- This
{has hyperlink
hyperlinked
another
. When clicked,
pops up
"explanation" =
buttonClick
Object
ID 82
autoClose
popup
_ASYM_Hyperlinks
Button
Click hotwords and objects on this page to trigger their hyperlink.
Explanation
leavePage
ASYM_Reset
notifyBefore
ASYM_Reset
leavePage
ASYM_Reset
Types of hyperlinks
Branching and hyperlinks
Types of hyperlinks
There are two basic kinds of hyperlinks: jumps and popups.
When you jump to another page, that page replaces the current page in the current window. You have been using this type of link to go from page to page in this overview.
A popup hyperlink shows a specific page in a popup window on top of the current window.t window.w.ndow.
Generic and specific hyperlinks
Branching and hyperlinks
Generic and specific hyperlinks
Generic hyperlinks do not specify a particular page. For example, you can create a hyperlink to the next page, without knowing what that page will actually be.
Specific hyperlinks are linked to a particular page, which is typically referenced by name. The destination page must exist when you create the hyperlink.
The top arrow in this navigation widget is hyperlinked to a specific page called "Menu"led "Menu"
The left and right arrows use generic hyper links to the next page and the previous page.he previous page.
Hyperlinks as properties
Branching and hyperlinks
Hyperlinks as properties
CBT Edition hyperlinks are stored as properties of the objects, rather than embedded as commands in scripts.
This makes it possible to inspect, verify and modify hyperlinks with standard tools. For example, you can print a list of all the hyperlinks in an application, or check and repair links to pages that have been renamed. f links to pages that no longer exist.
Stage 1
Show Page Hyperlinks DB
firstIdle
Show Page Hyperlinks DB
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "Show Page Hyperlinks DB"
notifyBefore
leavePage
firstIdle
Hyperlinks Summary
Branching and hyperlinks
Summary
Branching can be done by jumping to another page, using hyperlinks tied to specific responses to a question.
Any object can be hyperlinked to another page in response to a mouse click.
Hyperlinks can take the form of a jump to another page, or a popup display of another page.
Hyperlinks can be used for generic page navigation, or can specify a particular destination page.
Hyperlinks are stored as properties of objects..
Chapter 10
Chapter 10
Scores and logs
Keeping track of scores and recording student activity
Scores and Logs Intro
Scores and logs Intro
Keeping score and recording student activityy
CBT Edition allows you to score responses to Question Widgets, and to show or compile the scores at any time. Widgets are provided to show the score on a practice question, or to collect the score for an entire book at the end of a session.
Flexible logging options allow you to record various types of student activity in a log file.
Stage 1
Log Options
firstIdle
Log Options
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "Log Options"
notifyBefore
leavePage
firstIdle
Scoring a question
Scores and logs
Scoring a question
You can specify a score value for a question as well as score weights for different responses.
Each question object keeps track of its own score until it is reset. Typically, a script executed at the end of the session tallies the scores from all the questions in the book. The total score is then recorded into a log file or in the Course Management System.........................................
Stage 1
Widget Prop TF tab 3
firstIdle
Widget Prop TF tab 3
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "Widget Prop TF
notifyBefore
4p TF
leavePage
firstIdle
Getting the score of a question
Scores and logss
Getting the score of a question
The CBT Edition provides response-checking widgets that you can use to get the current score of a question, or to collect the current scores of all the questions in a book.
This page contains a question widget and buttons that were imported from the Widget Catalog. The buttons were then customized: Their graphic was removed and their caption was changed........e visual properties.
widget
See if you can match the descriptions with the buttons. Click on each description and drag to the corresponding button.
Click the buttons and see what happens.
Check Response
ASYM_W
tbk_wid_name
EVALPAGE.SPB
ASYM_WID_Editor
Group id 44 of Page id 90
ASYM_WID_TargetObject
false
ASYM_WID_Msg
ASYM_WID_ShowScore
false
ASYM_WID_LockAnswer
ASYM_WID_PlayFeedback
false
ASYM_WID_ResetTarget
ASYM_WID_LockAnswer
ASYM_WID_Msg
ASYM_WID_PlayFeedback
ASYM_WID_ResetTarget
ASYM_WID_ShowScore
tbk_wid_props
Asymetrix
ASYM_WID_Author
95-1-25
ASYM_WID_CreateDate
Provides automatic scoring for one or more questions on a page. Supports question disabling, feedback and navigation.
ASYM_WID_Description
boolean
boolean
boolean
boolean
tbk_wid_values
EVALPAGE.hlp
ASYM_WID_Doc
false
ASYM_WID_MarkCompleted
value,0
ASYM_WID_ScoreMode
Check Response
this page
ASYM_W
tbk_wid_name
EVALPAGE.SPB
ASYM_WID_Editor
<all>
ASYM_WID_TargetObject
false
ASYM_WID_Msg
ASYM_WID_ShowScore
false
ASYM_WID_LockAnswer
false
ASYM_WID_PlayFeedback
false
ASYM_WID_ResetTarget
ASYM_WID_LockAnswer
ASYM_WID_Msg
ASYM_WID_PlayFeedback
ASYM_WID_ResetTarget
ASYM_WID_ShowScore
tbk_wid_props
Asymetrix
ASYM_WID_Author
94-12-5
ASYM_WID_CreateDate
Provides automatic scoring for one or more questions on a page. Supports question disabling, feedback and navigation.
ASYM_WID_Description
boolean
boolean
boolean
boolean
tbk_wid_values
EVALPAGE.hlp
ASYM_WID_Doc
false
ASYM_WID_MarkCompleted
value,0
ASYM_WID_ScoreMode
Score This Page
this entire book
ASYM_WID_LockAnswer
ASYM_WID_Msg
ASYM_WID_PlayFeedback
ASYM_WID_ResetTarget
ASYM_WID_ShowScore
tbk_wid_props
ASYM_W
tbk_wid_name
EVALBOOK.SPB
ASYM_WID_Editor
<all>
ASYM_WID_TargetObject
false
ASYM_WID_Msg
ASYM_WID_ShowScore
false
ASYM_WID_LockAnswer
false
ASYM_WID_PlayFeedback
false
ASYM_WID_ResetTarget
Asymetrix
ASYM_WID_Author
94-12-5
ASYM_WID_CreateDate
Provides automatic scoring for an entire book.
ASYM_WID_Description
boolean
boolean
boolean
boolean
tbk_wid_values
false
ASYM_WID_MarkAsCompleted
EVALBOOK.hlp
ASYM_WID_Doc
false
ASYM_WID_MarkCompleted
ASYM_WID_IngoreSkipped
percent,0
ASYM_WID_ScoreMode
Score All Pages
Match widgets with descriptions
H&$&05
>*>Yk
_LineEndSize
_LineEndStyle
_LineColor
ASYM_WID_AutoLockAnswer
ASYM_WID_AutoReset
ASYM_WID_IsScored
ASYM_WID_MaxScore
ASYM_WID_Randomize
ColorChosen
ColorNotChosen
tbk_wid_props
MTCHITEM.SPB
ASYM_WID_Editor
ASYM_Q
tbk_wid_name
MATCHITEM
ASYM_WID_QType
false
ASYM_WID_AutoLockAnswer
ASYM_WID_Randomize
ASYM_WID_MultipleAnswers
ASYM_WID_DelayFeedback
FALSE
ASYM_WID_AnswerLocked
Asymetrix
ASYM_WID_Author
95-1-25
ASYM_WID_CreateDate
Provides matching functionality. User input involves dragging a line from an object of the question to a named object on the page. Needs a response checking widget to play feedback and get score.
ASYM_WID_Description
ASYM_WID_TimeStart
ASYM_WID_TriesUsed
ASYM_WID_TimeUsed
ASYM_WID_TimeChosen
ASYM_WID_TriesMax
ASYM_WID_TimeMax
MTCHITEM.hlp
ASYM_WID_Doc
this page
GoToPage
FALSE
All right!
false,auto
Tally the scores for the questions on the current page
Check Response
FALSE
Try again!
false,auto
Check the response to the question on the current page
this entire book
FALSE
Tally the scores for the questions on all the navigable pages in the current book
ASYM_WID_AnsArray
none,solidHead
_lineEndStyle
_lineEndSize
_cursor
color
boolean
boolean
boolean
boolean
color
color
tbk_wid_values
192,220,192
colorNotChosen
255,0,0
_lineColor
255,255,0
colorChosen
ASYM_WID_PartialScore
ASYM_WID_MaxScore
ASYM_WID_IsScored
false
ASYM_WID_RejectWrong
false
ASYM_WID_Exclusive
leavePage
ASYM_WID_AutoReset
ASYM_WID_ReadyToRun
Tally the scores for the questions on the current page
_caption
Tally the scores for the questions on the current pagee pages in the current book
Check the response to the question on the current page
_caption
Check the response to the question on the current pagee pages in the current book
.%R%@V
Tally the scores for the questions on all the navigable pages in the current book
_caption
Tally the scores for the questions on all the navigable pages in the current book
Explanation
leavePage
ASYM_Reset
notifyBefore
ASYM_Reset
keyDown
leavepage
ASYM_Reset
ASYM_SummonWidgets
buttonUp
Recording the score
Scores and logs
Recording the score in a log
You can write a script to record the score anywhere you like, or you can use the built-in logging features of CBT Edition.
For example, you can specify that a log file with detailed score information for each question be recorded onto a student floppy disk. This log can be in a table format, suitable to import into a spreadsheet program..............ram.
Stage 1
Log Options
firstIdle
Log Options
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "Log Options"
notifyBefore
leavePage
firstIdle
Scoring an entire book
Scores and logs
Scoring at the end of the session
You can specify that a book score should be computed when leaving the book. In that case, CBT Edition scans the book for questions which you chose to score, and tallies a total score. If you use the Course Management System (CMS), this total score is recorded in the CMS database. If the session is being logged, the total score is added at the end of the log.
Stage 1
Log Options
firstIdle
Log Options
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "Log Options"
notifyBefore
leavePage
firstIdle
Log options
Scores and logs
Log options
The options you choose for the log file are stored as properties of the book. CBT Edition will automatically start the log, close it, and dispatch it to the appropriate destination.
Once the system has started the log file when the book is open, you can add your own log entries with simple scripts. mple, you might want to record student comments. student comments..
~ T$l
~ T$l
-- This is an example of how to add your own
-- "student comment" entries to the log.
-- Put this handler in the script of a page
to handle leavePage
forward -- always forward system messages
-- get the student comments
txt = text of field "Comments"
-- Remove any extra spaces, lines, etc.
-- before and after the text
txt = ASYM_trim(txt)
if txt <> null
-- Record only if there is some text
-- The result will be false if it does
-- not work for any reason
if not ASYM_LogWriteEntry(txt)
request "Sorry, unable to record."
end
end if
end leavePagee
Scoring and Logs Summary
Scores and logss Summary
Summary
Question objects can automatically keep track of their score.
Scores can be shown or tallied by widgets provided for this purpose.
Scores are typically collected and recorded at the end of a session.
Flexible logging options allow you to record score information or other student activity information. Logs can be saved to a floppy disk, to the hard disk, or dispatched to other destinations.
You can use OpenScript to add your own events to what should be logged......
Chapter 11
Chapter 11
Course Management System (CMS)
Managing courses, students, and results
Course Management System Intro
Course Management System (CMS)
Overview
The Course Management System (CMS) controls access to courses and tracks student activity.
It also allows you to manage course and user information.
The system can be used by multiple users simultaneously over a network, or by multiple users, one at a time, on a single workstation.station.on........ation.
stage
Course Management Systemm
Instructors and Administrators
Coursesssssssssssssssss
picture 4
defAspectRatio
picture 7
defAspectRatio
picture 5
defAspectRatio
picture 2
defAspectRatio
Students
picture 8
defAspectRatio
picture 8
defAspectRatio
picture 8
defAspectRatio
picture 8
defAspectRatio
picture 4
defAspectRatio
Grades & Progressssssssssssssss
picture 6
defAspectRatio
~ * q
CMS Components
Components
: j
CMS database
techTalk
Course Management System (CMS)Q
Components
The CMS contains three main components: the Administrator Access and Student Access applications, and the database system.
The Administration and Student Access applications read and write data about courses, students, and student progress in the shared database. ReportSmith
is used to print reports.uded ReportSmith is used to print reports....
stage
Reportsmith
CTB40C.SBK
System
Relational Database System tem
Student
Accessendonnation
Administrator Accessenddon
Administration Application
: ( u4
Course Management System (CMS)
Administrator Access endon
The Administrator Access application is used to manage courses and user accounts. This is where faculty add courses, create student accounts, assign courses and review student activity.
The Administrator Access also allows you to print a variety of reports.Edition, the Administrator Access also allows you to print a variety of reports..........
Stage 1
admin front end
firstIdle
admin front end
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "admin front
notifyBefore
admin.exe
ScreenCam Group
Show me
movieNumber
Show Me
Sound
Sound
Movie ID
leavePage
enterPage
ASYM_Reset
firstIdle
author
reader
Users
Course Management System (CMS)
Users
Every user of the CMS must have a CMS account.
Individual access rights determine how much of CMS data the user can see and change. A user can be restricted to the Student Access application, or to specific administration activities.
In any case, the user must log in to gain access to the system.he user must log in to gain access to the system.o the system.
Stage 1
admin login
firstIdle
admin login
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "admin login"
notifyBefore
admin.exe
Stage 2
privileges
firstIdle
privileges
leavePage
notifyAfter firstIdle
--mmclose
mmplay bitmap "privileges"
notifyBefore
admin.exe
leavePage
firstIdle
Student.exe
Course Management System (CMS)
Student Access application
The Student Access application end gives students access to the courses available in the CMS. A student must have an account in the CMS to run this application.
The Student front end also allows students to review their course grades and modify personal user information such as address and phone number...er.ess and phone number.
Stage 1
student login
firstIdle
student login
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "student login"
notifyBefore
admin.exe
Stage 1
student access
firstIdle
student access
leavePage
notifyAfter firstIdle
--mmclose
mmplay bitmap "student access"
notifyBefore
admin.exe
ScreenCam Group
Show me
movieNumber
Show Me
Sound
Sound
Movie ID
leavePage
enterPage
ASYM_Reset
firstIdle
author
reader
Course Management System (CMS)
Taking Courses
asdfasfsafsajjj
Users running the Student Access application can choose courses from two lists: courses that are assigned to them and open enrollment courses.
Courses are assigned in the Administrator Access application.
Open enrollment courses are available to any registered user with access to the Student front end.....
Stage 1
take a course db
firstIdle
take a course db
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "take a course db"
notifyBefore
admin.exe
leavePage
firstIdle
Course Management
" " r
Course Management System (CMS)
Courses
A course can contain one or several modules. Each module is a separate Multimedia ToolBook book. The same book can appear in different courses.
The CMS can provide automatic navigation to the next module in a course, or course authors can call the CMS and request to go to a particular module of a course....urse.f a course........ course....................
picture 2
defAspectRatio
frctn.tbk
realnum.tbk
geomtry.tbk
Course:
Math 101
Modules in Course
Math 101
Math 101
Access restrictions
Course Management System (CMS)
Restricting course file access
Multimedia ToolBook allows you to specify a password to restrict access to a book. Anybody attempting to open the book must provide the password.
As an administrator, you can specify the book password in the CMS. When the CMS starts the book on behalf of a student, it also supplies the book password. The book is otherwise inaccessible...book password.d.............................................................
Tip: To assign an access password to a book, click the Password button in the Book Properties dialog box while working on the book at Author level.
Then assign the same access password to the course
Stage 1
set common passwords
firstIdle
set common passwords
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "
common
notifyBefore
admin.exe
leavePage
firstIdle
Course Management System (CMS)
Tracking progress
The CMS database keeps track of each student's progress by storing the points earned, points available, and completion information for each module of the course.
The Administrator Access application allows you to view grades in two ways: as the transcript for a student or as the grade book for a course. Both views can be printed by using the Report button...
Stage 1
review activity
firstIdle
review activity
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "review activity"
notifyBefore
admin.exe
leavePage
firstIdle
Course Management System Summary
Course Management System (CMS)ry
Summary
The Course Management System (CMS) is used to administer and deliver courses, track course and student activity and generate reports.
The CMS is designed to run on a network.
The Administrator Access application is used to set up courses and to review student progress.
Students use the Student Access application to take courses.
Courses consist of one or more Multimedia ToolBook books.
Course access can be controlled by using book passwords..s.s.
Chapter 12
Chapter 12
Application delivery
Overview of the runtime system, Setup Manager and special features to facilitate deployment of your finished application
Deploying Applications - Overvie
Application delivery
Overview
Multimedia ToolBook - CBT Edition includes a runtime version that is required to run CBT Edition applications on other systems.
It also includes a Setup Manager utility that you can use to create a Setup program and compressed distribution disks for your application.
is upwardly compatible with Multimedia ToolBook 3.0 applications.
Runtime files
Application delivery
Runtime files
The files required for a runtime installation are listed and explained in the FILELIST.WRI file in the CBT Edition directory.
Certain files are required only if you use features such as the Course Management System (CMS) or path animation.
Please read your licensing agreement for important information on the CBT Edition runtime files.. files......
Linked (optional):
PXENGWIN.DLL
T40PDX.DLL
While PXENGWIN.DLL and T40PDX.DLL are optional, you must ship both if you ship either
one. This requirement is simply a practical matter as these files work together. You may only
distribute these files as part of an application developed with and running in Multimedia
ToolBook.
The following files are required if your application includes full-text search capability:
FTS40HLP.STS
FTS40IQR.DLL
FTS40MAC.STS
FTS40MSG.STS
FTS40MTB.DLL
FTS40RDR.DLL
Optional:
TB40DB4.DLL
TB40DOS.DLL
TB40DLG.DLL
TB40WIN.DLL
TBKMMWID.FON
Your users (i.e. those to whom you distribute Runtime Multimedia ToolBook) are not allowed to
re-distribute any of these files, unless they re-distribute them as part of your whole and
unmodified Multimedia ToolBook application.
Linked (optional):
PXENGWIN.DLL
T40PDX.DLL
While PXENGWIN.DLL and T40PDX.DLL are optional, you must ship both if you ship either
one. This requirement is simply a practical matter as these files work together. You may only
distribute these files as part of an application developed with and running in Multimedia
ToolBook.
The following files are required if your application includes full-text search capability:
FTS40HLP.STS
FTS40IQR.DLL
FTS40MAC.STS
FTS40MSG.STS
FTS40MTB.DLL
FTS40RDR.DLL
Optional:
TB40DB4.DLL
TB40DOS.DLL
TB40DLG.DLL
TB40WIN.DLL
TBKMMWID.FON
Your users (i.e. those to whom you distribute Runtime Multimedia ToolBook) are not allowed to
re-distribute any of these files, unless they re-distribute them as part of your whole and
unmodified Multimedia ToolBook application.
PCDLIB.DLL
PCDXBMP.DLL
PHOTO.DLL
TBLOAD.EXEPCDLIB.DLL
Optional:
TB40DB3.DLL
TB40DOS.DLL
TB40DLG.DLL
TB40WIN.DLL
TBKMMWID.FON
Your users (i.e. those to whom you distribute Runtime Multimedia ToolBook) are not allowed to
re-distribute any of these files, unless they re-distribute them as part of your whole and
unmodified Multimedia ToolBook application.
ess they re-distribute them as part of your whole and
unmodified Multimedia ToolBook application.
Distributing Runtime Multimedia ToolBook
Asymetrix allows you, a licensed owner of Multimedia ToolBook 4.0, to distribute Runtime
Multimedia ToolBook 4.0 free of charge with your Multimedia ToolBook application. You are
required to ship the minimum set of files needed to run Runtime Multimedia ToolBook, and you
may, at your option, distribute certain additional Multimedia ToolBook files. The required, linked,
and optional files are listed below.
Required:
MTB40BAS.DLL
MTB40BMP.DLL
MTB40CMP.DLL
MTB40FLT.DLL
MTB40LNL.DLL
MTB40MM.DLL
MTB40MM.INI
MTB40NET.EXE
MTB40RUN.EXE
MTB40UTL.DLL
PCDLIB.DLL
PCDXBMP.DLL
PHOTO.DLL
TBLOAD.EXE
Linked (optional):
PXENGWIN.DLL
T30PDX.DLL
While PXENGWIN.DLL and T30PDX.DLL are optional, you must ship both if you ship either
one. This requirement is simply a practical matter as these files work together. You may only
distribute these files as part of an application developed with and running in Multimedia
ToolBook.
The following files are required if your application includes full-text search capability:
FTS30HLP.STS
FTS30IQR.DLL
FTS30MAC.STS
FTS30MSG.STS
FTS30MTB.DLL
FTS30RDR.DLL
Optional:
TB30DB3.DLL
TB30DOS.DLL
TB30DLG.DLL
TB30WIN.DLL
TBKMMWID.FON
Your users (i.e. those to whom you distribute Runtime Multimedia ToolBook) are not allowed to
re-distribute any of these files, unless they re-distribute them as part of your whole and
unmodified Multimedia ToolBook application.
Setup Manager
Application delivery
Setup Manager
The Setup Manager lets you create distribution disks for your application. It has its own extensive on-line help. It also puts on the disks a professional quality Setup program.
When you use this Setup program to install your application on a system that already has the runtime files, it updates the existing runtime files rather than installing another copy.py..r copy.r copy.py of the runtime.
Stage 1
setupmgr
firstIdle
setupmgr
leavePage
notifyAfter firstIdle
mmclose
mmplay bitmap "setupmgr"
notifyBefore
admin.exe
leavePage
firstIdle
Course Management System
Application delivery
Course Management System (CMS)
For a user to run your CBT Edition applications with the CMS, the appropriate runtime components must be installed and set up correctly. For example, the location of the data files must be registered in a configuration file.
The detailed information you need to set up your applications can be found in the documentation and the release notes.....
Application deployment - Summary
Application delivery
Summary
The royalty-free CBT Edition runtime is used to run applications on other systems.
CBT Editions includes a Setup Manager that gathers and compresses the necessary files and creates a Setup program.
The Course Management System (CMS) has special installation requirements that are documented in print and in release notes.
Access application to take courses.
Courses consist of of one or more Multimedia ToolBook books.
Course access can be controlled by using book passwords...............................
0,-1220,23
Tech talk
Chapter 13
Tech talk
A technical discussion of the CBT
Edition key features
YM_BeenHere
Tech Talk Menu
Tech Talk Topics
YM_BeenHere
Custom Application Specialists
The Book Specialists are Multimedia ToolBook books saved with the extension .SPB and stored in the \SPCLST directory. The New Book dialog box in which you choose a Book Specialist shows the .SPB files found in that directory. If the Info_Title property of a book is not null, that value is shown instead of the file name in the list box from which you choose the Book Specialist. This makes it possible to easily add Specialists to the system.
CBT Edition shows the Book Specialist in a modal popup viewer. The Specialist book script must close the viewer when the user cancels the Specialist, or after the Specialist has finished building a book. Because of the many possible options, a solid understanding of ToolBook and OpenScript is required to successfully modify or create a Specialist...........
Tech Talk: Custom Specialists
Tech Talk
cancel
.', "
cancel
keyUp
,&H.&
ASYM_Reset
ASYM_Reset
targetWindow <>
close
ASYM_Reset
skipNavigation
95011520315224793106912369560
ASYM_TpID
Title
enterPage
notifyBefore
enterPage
Backdrops
Backdrops
The backdrop bitmaps are imported as graphic resources of the book. This allows a single bitmap to be used by backdrops on several backgrounds.
The backdrop is actually displayed as the graphic of a large disabled button on the background. This button is a transparent, with no caption or border; its size is the same as the current page size and is readjusted automatically when you enter a page after changing the page size.
The backdrop bitmaps supplied with the CBT Edition are 640 pixels by 480 pixels. A few are smaller but are designed so that they can be stretched to fill the background.
ress the imaging system. Generally speaking, 16-color backdrops will cause fewer conflicts and will not affect performance as much as bitmaps with more color depth....................
Tech Talk: Backdrops&
YM_BeenHere
Backdrop Performance
erformance
YM_BeenHere
Many factors, including your design choices, can affect the performance of a Multimedia ToolBook application.
Backdrops can be a source of performance problems because of the way they stress the imaging system, as when a backdrop bitmap must be stretched to fit a specific page size. Stretching a bitmap is one of the slowest operations in the Windows graphic subsystem, and requires additional memory. The more color depth in the bitmap, the more dramatically the performance of Multimedia ToolBook may suffer, depending on the configuration and tuning of the host system.
You may need to compromise between graphical richness and optimum performance. 16-color backdrops that use only standard Windows colors will cause fewer palette conflicts and will not affect performance as much as bitmaps with more color depth..
Tech Talk: Backdrop Performance
What's in a widget?
Specific user properties are added to Multimedia ToolBook objects to turn them into widgets.
The CBT Edition widgets usually have user properties with names beginning with ASYM_, such as ASYM_WID_QType. They may have scripts with handlers that send or handle messages whose name begins with ASYM_.
The ASYM_ prefix in a property name or message name indicates that the widget relies on scripts in the CBT Edition system books to implement its behavior.
object
system book
Tech talk: What's in a widget?
YM_BeenHere
Custom widgets
The standard Widget Catalog is in the file CBT40.WBK in the \WIDGETS subdirectory. This directory contains other files with .SPB and .HLP extensions. The .SPB files are custom editors for a particular category of widgets. These editors, small Multimedia ToolBook applications, run in a modal viewer when you choose the Widget Properties command in the Object menu. The .HLP files are help files that document specific widgets or widget categories.
The sample Multimedia ToolBook 4.0 application WIDGETS.TBK (in the \SAMPLES directory) contains a number of widgets you can examine. It also explains how to add user properties to Multimedia ToolBook objects to turn them into widgets. The CBT Edition extends this concept by allowing experienced ToolBook developers to add their own property editors and help files to the WIDGETS directory.
object
Tech talk: Custom widgets
YM_BeenHere
Hyperlinks as Properties
erties
Hyperlinks assigned to layout objects are triggered when a buttonClick message is sent to the object. You can create, modify or maintain those hyperlinks by using the Hyperlink dialog box. Select the object and choose Object Properties - Hyperlink from the Object menu.
For question widgets, you can define a hyperlink to execute following a specific response. This type of hyperlink is created in the Feedback section of the Question Properties dialog box. Select the question Widget and choose Object Properties - Question from the Object menu.
By writing OpenScript statements, you can add custom hyperlinks to objects and execute them in your own handlers. Refer to the OpenScript reference in CBT
Edition online Help for more information.ation.ation.
Tech Talk: Hyperlink Properties
Scoring a Question
a Question
Information about the possible responses to a question and the associated response weights is stored in a property of the question widget.
Every time a response is registered, the property of the question widget that tracks the current response is updated. When you use OpenScript to obtain the score for the question, the current response information is used to determine a score value. CBT Edition clears the current response information whenever the question is reset by the ASYM_Reset message.
Refer to the OpenScript reference in CBT
Edition online Help for more information..ponse or score information, or to reset a function.
Tech Talk: Scoring a Question
Getting the score of a question
ToolBook objects that are modified while running the application retain the changes until the book is closed, even when you go to another page. You can go back to a page and find it as you left it, unless a script modified the page again in the process.
You can use scripts to inspect the properties of objects on any page of the book at any time. CBT Edition uses this method to collect the score of every question widget on every navigable page of a book just before leaving the book. If you need to score the book at the end of the session, do not reset the question widgets as you go from page to page, since that would clear their score.
A check box in the Book Properties - CBT Extensions dialog box in the ToolBook Object menu allows you to reset all the widgets in the book to a "ready to run" state when you save the book.e book.k.ate when you save the book......ok.ave the book....
Tech talk: Getting the score of a question
CMS Components
Components
The CMS uses a relational database system to store the information. The database is stored in Paradox 4.5 format, using the Borland Paradox engine included in the CBT Edition.
The DLL (dynamic link library) functions required to work with the Paradox engine are documented in a help file included in your CBT Edition package.
In addition, the system book CTB40C.SBK provides a number of functions specific to the Course Management System. It gets linked automatically when you run the Administrator Access or the Student Access application.
The ReportSmith runtime is used to print reports. If you already own ReportSmith, there is no need to install this runtime.
Tech Talk: CMS Components
Administration Application
The Administrator Access application is a Multimedia ToolBook book. You can modify it as needed to suit your particular needs.
If you have a good understanding of how a relational database works, you can exploit the Course Management data by using third party products that can read Paradox 4.5 tables.
If you want to use another database back end, you can also replace the CTB40C.SBK system book with your own system book that implements the same functions but calls your back end instead of calling the Paradox Engine DLL...unctions but calls your back end instead of calling the Paradox Engine DLL.;
Tech Talk: Admin and databases
Logging
k: Logging
If the book properties that control logging are set, or if a log is specified in by the Course Management System, the log file is started automatically when the enterApplication message reaches the CBT Edition runtime system book, and stops automatically when the leaveApplication message reaches the system book.
As a rule, your scripts should always forward system messages such as enterApplication or enterPage, because the system books depend on those messages to perform their function. For details, search for the keyword forward in the CBT Edition online Help.
Tech Talk: Logging
Student.exe
tudent.exe
Like the Administrator Access application, the Student Access application is a Multimedia ToolBook book that can be customized for your particular purpose.
Because it is the entry point for students into the CMS, the Student Access application is the only application you need to set up for easy access by the students. Students should start this application instead of attempting to launch an individual book.
Multiple users can share a single copy of a ToolBook application on a network server if the file attribute of the book is set to Read Only. This allows you to keep the Student Access information and the course files on the network. For best performance, install Windows system files and the Multimedia ToolBook runtime on a local hard disk. er......er.
Tech Talk: Student.exe
Runtime Files
The runtime files for Multimedia ToolBook include several DLLs (Windows dynamic link libraries) that support the various components of Multimedia ToolBook.
In addition, and depending on the options you use in your application, the runtime files include system books and additional DLLs. Refer to the FILELIST.WRI file in your Multimedia ToolBook directory for details.
If your CBT application depends on a system book, the system book must be linked at runtime. This is done either storing a setting in the MTB40.INI file, or by adding an enterBook handler to the book script that ensures that the proper system book is present, and links it if necessary. For an example, create a book with one of the CBT Edition Book Specialists and inspect the book script.h one of the CBT Edition specialist and inspect the book script............
Tech talk: Runtime files
Log Options
The log is initialized when the enterApplication message reaches the runtime system book. At that time, the system book reads properties that specify the log options and makes the first entry in the log. If you want to influence the settings for the log, you must do this before you forward the enterApplication message.
-- Example (in script of your book)
to handle enterApplication
system s_ASYM_LogDir
s_ASYM_LogDir = "c:\mylogs\"
forward -- always forward system messages
The log is closed when the leaveApplication message reaches the runtime system book.
Tech Talk: Log Options
Creating templates
The New Background dialog in CBT Edition allows you to browse the available template files and select a background to import in your book.
Your own custom layout template books do not have to have the same number of backgrounds, with the same names, as the backgrounds in the layout template supplied with CBT Edition. For example, you might want to create a layout template book with all the backgrounds required for a large project that involves multiple books. However, any layout template to be used with a Book Specialist should contain a set of standard backgrounds.
Once you have created a layout template book, you can share it with others on a network. If its read-only file attribute is set, multiple users can access the template at the same time.......................
Tech Talk: Creating templates
Properties
Properties
Attributes of an object, such as name, position, and so on.
When you copy and paste an object, most of its properties are copied and pasted with the object.
See also User properties
Glossary
94110315103218210218528
Accent
Title
94110315103218210218528
ASYM_TpID
User properties
User properties
Properties that a Multimedia ToolBook author assigns to an object, but that are not standard properties for that object. This feature of Multimedia ToolBook allows you to store data and values that are saved automatically when you save the book.
Most widgets in CBT Edition store user choices and other information as user properties..es.
widget
Widget
Widget
A Multimedia ToolBook object that has been customized for a particular purpose. A widget can be a single object, or a group of objects.
Widgets typically use a combination of scripts, properties, and user properties to provide a specific behavior..
script
Script
Script
A set of instructions stored with a Multimedia ToolBook object. These instructions specify how the object will handle messages that are sent to it by the system as a result of user actions, or messages sent to it by scripts of other objects.
Object
Object
A set of code and data manipulated and stored as a single entity.
Multimedia ToolBook objects include layout objects such as geometric shapes, buttons, fields and pictures, and more abstract objects such as pages and books.
Every Multimedia ToolBook object has specific properties and can have a script and user properties.
A Multimedia ToolBook file. A book can contain many pages and backgrounds.
A typical Multimedia ToolBook application consists of one or more book files.
A book is also an object, and as such it has properties and can have a script and user properties. The script of a book can contain handlers for messages sent to any object in the book. A book also owns one or more viewers.
background
message
viewer
The basic component of a book, on which you draw layout objects. Every page uses a background. A page is also an object..an object...............
object
Background
Background
A component of a book that contains common layout objects and scripts shared by one or more pages. A background is also an object.
A book may contain one or more backgrounds.
object
script
A file created at runtime by a CBT application to record information about a CBT session, such as responses, scores, or other events.
Log files can be temporary files. If you specify FAX, e-mail or printing as the destination for a log, the log file is deleted as soon as the log has been dispatched or printed successfully. . In all other cases, the log files are permanent and m
YM_BeenHere
Acronym for Computer-Based Training. We chose this acronym because it is common in North American businesses and co
YM_BeenHere
Viewer
Viewer
A window you can create in Multimedia ToolBook that displays a page from any book. A viewer is also an object.ox, or modeless, like a tool bar.
Message
Message
A chunk of data sent by one object to another or to itself, or sent by the system to an object. For example, when you click a Multimedia ToolBook object on a page, the message buttonClick is sent to that object.
Messages that are not handled by an object are passed on to the container of that object. For example, if the script of the button you click does not have a handler for the message buttonClick, the message goes on to the page that owns the button, then to the background, to the book and eventually to the system. A script handler can also forward a message after handling it, so that other objects in the hierarchy can receive the message as well.
YM_BeenHere
Message Hierarchy
Message Hierarchy
The chain of objects along which a message is passed automatically until it is processed. For example, from an object on a page, messages are passed to the page, the background and then the book. Messages not handled by the book are passed on to any currently linked system books, and eventually reach the system.
object
system book
YM_BeenHere
System book
YM_BeenHere
System book
A Multimedia ToolBook file that contains scripts shared by other books or that extend the basic capabilities of Multimedia ToolBook itself. CBT
Edition relies on system books for some key custom features, such as the management of question widgets.
script
Palette
Palette
A list of color values. Palettes are used by 256-color video displays to manage the limited color capabilities of the display. Because 256-color video displays can show only 256 colors at any given time, the system palette maintained by Windows can contain only 256 entries.
A picture or object that needs special colors usually has an associated color palette, which is a list of the colors that are required to display the graphic properly. Adjusting the system palette to accommodate such a graphic may result in distorting the colors of other objects, unless all the objects displayed at the same time use the same palette..ame palette.....
Media Clip
Media clip
A specification for a media event, stored in the clip library which is a standard property of a Multimedia ToolBook book. Media clips can specify sounds, pictures, animation files, digital video clips, segments from a videodisc or audio compact disc, and so on. Only the clip specification is stored in the book. The media files themselves reside outside the book and can be shared by many books.
The Clips command on the Object menu is used to inspect, add, remove or modify the media clips for the current book.c may result in distorting the colors of other objects, unless all the objects displayed at the same time use the same palette.....
properties
Hyperlink
Hyperlink
A method for fast access to another page in the same book or in another book. Hyperlinks are usually triggered by clicking an object on the page, or by clicking a hotword..d..d.
Hotword
Hotword
A Multimedia ToolBook object created by selecting a chunk of text in a field and choosing Create Hotword in the Text menu. Like other objects, hotwords can have a name and properties.properties.
YM_BeenHere
Field
Field
A Multimedia ToolBook object that contains text.
You can specify that users will be able to type in a field or only click it. If you set the activated property of a field to false, readers can type in the field. If you set activated to true, the scripts of the field are activated: no typing is allowed, but the field will receive button click messages.
See also record field.rd field. field.so record field...........
properties
message
Record field
Record field
A special Multimedia ToolBook field that is drawn on the background, and that can contain different text on every page that uses that same background..ooking at uses two record fields: one for the title and one for the text.]
Modal viewer
Modal viewer
A viewer that is shown in a modal state. The modal state prevents you from performing other actions until the viewer is closed. Most dialog boxes are modal.viewers.
Question Manager
Question Manager
A convenient term to refer to the set of shared message handlers and functions which CBT Edition uses to manage question widgets. These handlers and functions are contained in the script of a runtime system book which must be present when running Multimedia ToolBook applications that use CBT Edition features.
There is no actual object called Question Manager.".